Association de valeurs dans des colonnes

Bonjour,

J'ai une colonne A contenant une liste de mots qui peuvent varier et se répéter

Dans la colonne B j'associe à chaque mot un chiffre

Si par exemple au mot "Arbre", j'associe le chiffre "28", j'aimerais qu'automatiquement dans la colonne B, "28" soit remplit si il y a de nouveau le mot "Arbre".

Et de même, si je change le "28" en "52", que le "52" soit remplit là où il y a le mot "Arbre" en colonne A

Ci-après le fichier

Merci pour votre aide !

Bonjour Clem7640, le forum,

Un exemple avec rechercheV....

En colonnes J et K, les correspondances entre mots et valeurs, tu peux en rajouter...

En colonne B, formule qui cherche la correspondance de la colonne A dans J:K.

Cordialement,

Bonjour

Un test

16clem7640.xlsm (14.84 Ko)

Bonjour à tous

Une variante.

Bye !

Merci pour vos réponses

Bonjour Clem7640, le forum,

Un exemple avec rechercheV....

En colonnes J et K, les correspondances entre mots et valeurs, tu peux en rajouter...

En colonne B, formule qui cherche la correspondance de la colonne A dans J:K.

Association de valeurs dans des colonnes-1.xlsx

Cordialement,

J'aimerais ne pas avoir à créer un tableau de correspondance mais me servir du tableau existant. Est-ce possible?

Bonjour

Un test

Ceci fonctionne mais pas si je veux ajouter de nouveaux mots ou changer le chiffre associé au mot. Je précise que les personnes qui vont utiliser mon tableau n'irons pas dans le code VBA

Bonjour à tous

Une variante.

Bye !

Merci ! C'est exactement ce dont j'avais besoin ! Donc pas le choix de passer par du VBA ?

Clem

Bonjour Clem, le forum,

je te retourne ton fichier modifié :

* c'est vide pour les "Arbre" de B3:B11

* en B7, saisis 28 ; Entrée28 pour les autres "Arbre" (même s'ils sont écrits avec des minuscules ou des majuscules)

* idem avec un autre nombre, et ça ne plante pas si tu saisis par erreur une donnée non numérique

* si tu appuies sur la touche Suppr ça efface la donnée de la cellule B7 ; idem pour les autres "Arbre"


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Merci beaucoup, cela fonctionne et me convient ! Si je comprend bien, pas le choix de passer par du VBA?

quote=dhany post_id=726574 time=1547903560 user_id=51200]

Bonjour Clem, le forum,

je te retourne ton fichier modifié :

* c'est vide pour les "Arbre" de B3:B11

* en B7, saisis 28 ; Entrée28 pour les autres "Arbre" (même s'ils sont écrits avec des minuscules ou des majuscules)

* idem avec un autre nombre, et ça ne plante pas si tu saisis par erreur une donnée non numérique

* si tu appuies sur la touche Suppr ça efface la donnée de la cellule B7 ; idem pour les autres "Arbre"

[Ligne][/Ligne

Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

[/quote]

non, effectivement, il faut obligatoirement passer par VBA pour faire ce job.

dhany

sauf si tu as besoin d'autre chose, tu peux passer le sujet en résolu.

(comme tu l'avais déjà fait avant)

dhany

Me revoilà avec une question :

Comment se nomment les colonnes A et B dans le code ?

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim lg0&, lg1&, dlig&, v$, n&
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Column <> 2 Then Exit Sub
    n = Val(.Value): v = UCase$(.Offset(, -1)): lg0 = .Row
  End With
  Application.ScreenUpdating = 0: Application.EnableEvents = 0
  dlig = Cells(Rows.Count, 1).End(3).Row
  For lg1 = 1 To dlig
    With Cells(lg1, 2)
      If lg1 <> lg0 Then
        If UCase$(.Offset(, -1)) = v Then
          If n = 0 Then .ClearContents Else .Value = n
        End If
      End If
    End With
  Next lg1
  Application.EnableEvents = -1
End Sub

Merci

@Clem

tu a écrit :

Comment se nomment les colonnes A et B dans le code ?

If .Column <> 2 Then Exit Sub : on sort si la colonne n'est pas la 2ème, donc on fait la suite seulement si on a modifié une cellule de la colonne B

n = Val(.Value) : n = nombre de la cellule modifiée, donc nombre de la colonne B

v = UCase$(.Offset(, -1)) : v = valeur de la colonne à gauche, donc texte de la colonne A

With Cells(lg1, 2) : avec la cellule de la colonne B

If UCase$(.Offset(, -1)) = v Then : test de la cellule qui est une colonne à gauche, donc test du texte de la colonne A

(pour plus d'infos, regarde l'aide VBA sur le mot-clé Offset)

dhany

Rechercher des sujets similaires à "association valeurs colonnes"