XL 2013 Comparaison entre 2 colonnes Excel VBA macro

JdW

XLDnaute Nouveau
Bonjour à tous !
Voilà je débute avec VBA Excel
J’ai un petit souci je souhaite comparer 2 colonne Excel dans une boucle for

Dans la première colonne j'ai : '' colonne A avec des ID " et dans la deuxième " colonne C j'ai des Name ".
la seule chose que je peux savoir que ce Name ("Prénom") appartien a cette ID c'est une colonne E qui se nomme "Party"
Je souhaite avoir une macro avec une boucle for qui lorsqu'il trouve deux termes équivalents dans les deux colonnes me renvoie l'ID et le Name dans une autre colonne exemple AB
Je veux faire une comparaison en ciblant l'ID et le Name , je souhaite une macro dynamique
voici mon fichier excel

Merci d'avance pour votre Aide !!
 

Pièces jointes

  • BH.xlsx
    11.1 KB · Affichages: 6

JdW

XLDnaute Nouveau
Re,

Voir ci-joint.

Bonne continuation

Re
Merci beaucoup pour ta réponse ! :)
Je reformule ma question

Enfaite je veux crée une boucle qui parcour la colonne A "ID" et la colonne E "Party" pour comparer les ID au name dans la colonne C et si elle trouve un ID qui correspond au name de la colonne C elle l'affiche dans la colonne F
et si elle ne trouve pas elle ne l'affiche pas et passe au suivant ID aini de suite sans crée de bouton

sachant que la j'ai que 2 ID je peux en avoir 1000 ID c'est pour cela je cherche une boucle dynamique

je vous remercie d'avance !!

en piéce jointe un autre excel plus clair.
 

Pièces jointes

  • BH3.xlsx
    11.6 KB · Affichages: 5

xUpsilon

XLDnaute Accro
Re,

Je ne comprends pas ta demande. En gros pour chaque ID dans la colonne A tu parcours toute la colonne C et tu regardes si il existe une cellule de C telle que A + C = E ?

Je ne sais pas ce que tu entends par "dynamique", mais si c'est simplement le fait que la boucle parcoure tous les termes, peu importe leur nombre, alors ma macro est "dynamique".

Bonne continuation
 

xUpsilon

XLDnaute Accro
Re,

Plutot ça ?
Je prends A et E d'une ligne, je les compare : si le terme entre parenthèses en E est le même que A alors je regarde si il existe un terme de C qui corresponde à ce qu'on a en E et je renvoie la ligne a laquelle il a été trouvé.

Est-ce que c'est ce que tu voulais ?

Bonne continuation
 

Pièces jointes

  • BH.xlsm
    18.3 KB · Affichages: 6

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

Ce que j'ai compris

VB:
Sub essai()
  Set Rng = Range("a2:a" & [A65000].End(xlUp).Row)
  Set Rng2 = Range("c2:c" & [A65000].End(xlUp).Row)
  Set Rng3 = Range("e2:e" & [e65000].End(xlUp).Row)
  Set d = CreateObject("scripting.dictionary")
  For i = 1 To Rng.Count
    x = CStr(Rng(i))
    d(x) = Rng2(i)
  Next i
  For i = 1 To Rng3.Count
    x = Rng3(i)
    p = InStr(x, "(")
    code = Mid(x, p + 1)
    code = Left(code, Len(code) - 1)
    y = Left(x, p - 1)
    d(code) = d(code) & " " & y
  Next i
  [g2].Resize(d.Count) = Application.Transpose(d.keys)
  [H2].Resize(d.Count) = Application.Transpose(d.items)
End Sub

Boisgontier
 

Pièces jointes

  • Copie de BH.xlsm
    19.5 KB · Affichages: 9

Discussions similaires

Réponses
9
Affichages
174
Réponses
8
Affichages
147

Statistiques des forums

Discussions
312 166
Messages
2 085 889
Membres
103 019
dernier inscrit
Eliot_1