Partager via

Créer une liste validation à 2 colonnes

Anonyme
2023-09-09T17:17:04+00:00

Bonjour à toutes et tous.

Je cherche à saisir une valeur à partir d'une liste. Je ne trouve pas comment afficher 2 colonnes pour effectuer cette saisie. Je ne peux créer un nom de plage que pour une seule colonne.

J'ai essayé d'utiliser la fonction RECHERCHEV associée à un DECALER, mais j'ai une erreur "nom?"

Voici ma structure :

une feuille "convertisseur temps"

A              B  

1 Minutes heure décimale
2 1 0,017
3 2 0,033

une feuille "besoins"
i j k
8 0,50 1,00 1,00

Dans ces cellules sont saisis des temps d'utilisation (pour évaluer des besoins électriques dans une maison)

Actuellement en col AO j'utilise une liste de validation "refmin" définie ainsi :

=DECALER('convertisseur temps'!$B$2;;;NBVAL('convertisseur temps'!$A:$A)-1)

Cela me ramène bien la colonne B du convertisseur

Quand je veux l'utiliser dans la feuille "besoin", je saisis (dans une colonne quelconque le temps du test)

=RECHERCHEV(AO;J8;2;0)

et c'est là où cela me renvoie "nom?"

Lorsque j'évalue la formule, je récupère en référence 'besoin'!$SAN$8 et AO est souligné

J'ai dû carabistouiller quelque part car il trouve la table matrice en J8. J'ai donc inversé avec AO. Même motif, même punition...

Il semble que cela ne soit pas la bonne méthode pour afficher les 2 colonnes, choisir la colonne A1 de "convertisseur" et enregistrer A2 de "convertisseur" dans "besoin".

Merci d'avance pour votre aide

Cordialement.

Microsoft 365 et Office | Excel | Autres | Autres

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
  1. DanielCo 107.7K Points de réputation
    2023-09-11T09:07:42+00:00

    Tu ne dois plus avoir de message "nombre stocké sous forme de texte". Si tu modifies la longueur de la liste de validation, il faut changer la plage dans la validation. Sélectionne I8:V48, onglet Données, Validation des données :

    Enfin, j'ai ajouté un message à l'ouverture du classeur. Si celui-ci n'apparaît pas, il faut exécuter la macro "test".

    https://www.cjoint.com/c/MIli7wSniV6

    1 personne a trouvé cette réponse utile.
    0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
  1. DanielCo 107.7K Points de réputation
    2023-09-10T13:35:20+00:00

    D'accord. J'ai créé une validation de données basée sur la colonne G de la feuille "convertisseur temps". Dans la feuille Besoins par pièce, j'ai mis la macro :

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim obj As New DataObject
    Dim txt As String
    If Intersect(Target, [I8:U48]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target = Split(Target.Value, " ")(1)
    Application.EnableEvents = True
    End Sub

    Si tu n'es pas au courant, Microsoft a ajouté récemment un flag qui bloque les macros dans les versions récentes d'Excel. Pour ôter le flag :

    https://learn.microsoft.com/fr-fr/DeployOffice/security/internet-macros-blocked?utm_source=pocket_saves

    le classeur :

    https://www.cjoint.com/c/MIknKgmLiH6

    Daniel

    1 personne a trouvé cette réponse utile.
    0 commentaires Aucun commentaire

18 réponses supplémentaires

  1. Anonyme
    2023-09-09T21:25:13+00:00

    Bonsoir Daniel

    Voici le lien: https://www.cjoint.com/c/MIjvrxmXvRi Je me suis peut-être fourvoyé: en fait, le but est de saisir le temps converti dans les colonnes de J à U de la feuille "besoin" à partir du nombre de minutes trouvé en col A de la feuille "conversion"

    Cela m'a paru simple au début...

    Merci encore pour l'expertise.

    Cordialement

    Zeb

    0 commentaires Aucun commentaire
  2. Hecatonchire 53,380 Points de réputation Modérateur bénévole
    2023-09-09T18:18:00+00:00

    Bonjour,

    Dans RECHERCHEV(AO;J8;2;0)

    AO =>doit être une valeur ce qui n'est pas le cas (d'où #NOM)

    J8 => doit être une plage hors faire une recherche sur une plage d'une cellule me semble étrange

    2 => 2eme colonne de J8 ??????

    C'est pas plus

    RECHERCHEV(J8;AO:AO;1;0)

    Remarque :

    Pourquoi faire une recherche de la valeur de temps et non de faire la conversion directement ?

    Voir : https://1forme.fr/trucs-et-astuce-pour-convertir-les-types-de-valeurs-dans-excel-2/#convertir-une-heure-en-centi%C3%A8me-et-inversement

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2023-09-09T17:26:24+00:00

    Bonjour,

    Peux-tu partager le classeur en effaçant les données confidentielles

    Pour le partager, clique sur :

    https://www.cjoint.com/

    Clique sur le bouton "parcourir". Choisis le fichier à partager. Dans le bas de la page, clique sur le bouton "Créer le lien cjoint". Copie le lien affiché et colle-le dans ta réponse.

    Daniel

    0 commentaires Aucun commentaire