comparaison sur 3 colonnes

Le
Help ME
Bonjour à vous tous qui savez aider sans compteret qui savez compter sous
exel :-)

J'ai le problème suivant :

3 sources de données :
COLONNE B COLONNE C COLONNE D
Plan 1 Plan 1 Jacques
Plan 2 Plan 2 René
Plan 3 Plan 3 Francis
Plan 4 Plan 4 Herbert
Plan 5 Plan 5 Carajan
Plan 3
Plan 2
Plan 3
Plan 5
Plan 6

J'aimerai savoir s'il est possible de lui dire en vba l'équivalent de la
fonction RECHERCHE() pour faire la manipulation suivante :
Recherche les valeurs de la colonne B dans la colonne C, et inscris alors
dans la colonne A le résultat trouvé de la colonne D (même ligne que valeur
trouvée dans C).
Si par contre il ne trouve rien, qu'il indique le résultat sous forme
d'erreur ou de "nom absent"
Exemple de résultat :
COLONNE A COLONNE B
Jacques Plan 1
René Plan 2
Francis Plan 3
Herbert Plan 4
Carajan Plan 5
Francis Plan 3
René Plan 2
Francis Plan 3
Carajan Plan 5
Nom Absent Plan 6
Enfin, s'il pouvait ne pas tenir compte des majuscules / Minuscules ce
serait top (que Herbert puisse être écrit HERBERT ou herbert)

Je sais le faire en fonctions excel normales (recherche(majuscule)etc)
mais pas en VBA et là j'aimerai que cela se passe en vba pour gagner du
temps.

Merciiiiiiiiiiiiiii à vous tous
Michel
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
papou
Le #1935582
Bonjour
Si tu veux une formule dans la cellule :
For i = 1 To Range("B65536").End(xlUp).Row
Cells(i, 1).Formula = "=INDEX(LesPrenoms,MATCH(" & "B" & i & ",B1:B10,1))"
If IsError(Cells(i, 1)) Then Cells(i, 1) = "Pas de match"
Next i
Si tu veux uniquement le résultat :
For i = 1 To Range("B65536").End(xlUp).Row
Cells(i, 1) = Evaluate("INDEX(LesPrenoms,MATCH(" & "B" & i & ",B1:B10,1))")
next i

Cordialement
Pascal

"Help ME" 41c42670$0$21571$
Bonjour à vous tous qui savez aider sans compter...et qui savez compter
sous
exel :-)

J'ai le problème suivant :

3 sources de données :
COLONNE B COLONNE C COLONNE D
Plan 1 Plan 1 Jacques
Plan 2 Plan 2 René
Plan 3 Plan 3 Francis
Plan 4 Plan 4 Herbert
Plan 5 Plan 5 Carajan
Plan 3
Plan 2
Plan 3
Plan 5
Plan 6

J'aimerai savoir s'il est possible de lui dire en vba l'équivalent de la
fonction RECHERCHE() pour faire la manipulation suivante :
Recherche les valeurs de la colonne B dans la colonne C, et inscris alors
dans la colonne A le résultat trouvé de la colonne D (même ligne que
valeur
trouvée dans C).
Si par contre il ne trouve rien, qu'il indique le résultat sous forme
d'erreur ou de "nom absent"...
Exemple de résultat :
COLONNE A COLONNE B
Jacques Plan 1
René Plan 2
Francis Plan 3
Herbert Plan 4
Carajan Plan 5
Francis Plan 3
René Plan 2
Francis Plan 3
Carajan Plan 5
Nom Absent Plan 6
Enfin, s'il pouvait ne pas tenir compte des majuscules / Minuscules ce
serait top (que Herbert puisse être écrit HERBERT ou herbert)

Je sais le faire en fonctions excel normales
(recherche(majuscule)...etc...)
mais pas en VBA et là j'aimerai que cela se passe en vba pour gagner du
temps.

Merciiiiiiiiiiiiiii à vous tous
Michel




AV
Le #1935578
Je sais le faire en fonctions excel normales (recherche(majuscule)...etc...)
mais pas en VBA
Pourtant si tu sais faire l'un, t'es pas loin de savoir faire l'autre !


et là j'aimerai que cela se passe en vba pour gagner du
temps.


Pas sur ça ....

Exemple là :
http://cjoint.com/?mspJ1xs1Ce

AV

papou
Le #1935567
Salut AV
Tout à fait d'accord ;-)
D'abord le temps de l'écrire en VBA puis ensuite de l'exécuter.
Alors que le formule une fois inscrite...
Cordialement
Pascal

"AV" %
Je sais le faire en fonctions excel normales
(recherche(majuscule)...etc...)
mais pas en VBA
Pourtant si tu sais faire l'un, t'es pas loin de savoir faire l'autre !


et là j'aimerai que cela se passe en vba pour gagner du
temps.


Pas sur ça ....

Exemple là :
http://cjoint.com/?mspJ1xs1Ce

AV





Help ME
Le #1935561
Bonjour à tous, et Papou et AV en priorité ;-)
Oui, j'ai bien conscience que je ne suis pas loin, mais je ne me suis
toujours pas plongé dans le vba...
En tout cas, je vous remercie tous, car ce que vous avez fait est top !!!

Je vous remercie tous de votre aide
Le résutat est simple et efficace !!
Merci à toi AV d'avoir tout créé dans un doc joint !
C'est tres pro...et fait bien plaisir
Amicalement

Michel

"AV" news:%
Je sais le faire en fonctions excel normales
(recherche(majuscule)...etc...)


mais pas en VBA
Pourtant si tu sais faire l'un, t'es pas loin de savoir faire l'autre !


et là j'aimerai que cela se passe en vba pour gagner du
temps.


Pas sur ça ....

Exemple là :
http://cjoint.com/?mspJ1xs1Ce

AV





AV
Le #1935560
Tout à fait d'accord ;-)


On est au moins 2 !
;-)
AV

Help ME
Le #1935552
Tout à fait d'accord aussi sur le principe, (on est 3)sauf que cette
utilisation serait pour une utilisation récurente...basée sur le même type
de docs...cela m'éviterait ainsi toute une étape de re-création de la forule
en excel alors qu'elle pourrait-être en stock en vba :-)

Je sais pas si jme fais bien comprendre, mais j'essaie :-))))

Merci à vous 2
Michel

"AV" news:%
Tout à fait d'accord ;-)


On est au moins 2 !
;-)
AV





Help ME
Le #1935550
Salut PaPou, ce mail vient à peine de s'afficher chez moi...(va comprendre
pourquoi j'ai eu les autres avant celui-ci...)
Je teste ça et te remercie tres sincèrement de t'être creusé les méninges
pour moi !!!

Michel
"papou" news:
Bonjour
Si tu veux une formule dans la cellule :
For i = 1 To Range("B65536").End(xlUp).Row
Cells(i, 1).Formula = "=INDEX(LesPrenoms,MATCH(" & "B" & i & ",B1:B10,1))"
If IsError(Cells(i, 1)) Then Cells(i, 1) = "Pas de match"
Next i
Si tu veux uniquement le résultat :
For i = 1 To Range("B65536").End(xlUp).Row
Cells(i, 1) = Evaluate("INDEX(LesPrenoms,MATCH(" & "B" & i &
",B1:B10,1))")

next i

Cordialement
Pascal

"Help ME" 41c42670$0$21571$
Bonjour à vous tous qui savez aider sans compter...et qui savez compter
sous
exel :-)

J'ai le problème suivant :

3 sources de données :
COLONNE B COLONNE C COLONNE D
Plan 1 Plan 1 Jacques
Plan 2 Plan 2 René
Plan 3 Plan 3 Francis
Plan 4 Plan 4 Herbert
Plan 5 Plan 5 Carajan
Plan 3
Plan 2
Plan 3
Plan 5
Plan 6

J'aimerai savoir s'il est possible de lui dire en vba l'équivalent de la
fonction RECHERCHE() pour faire la manipulation suivante :
Recherche les valeurs de la colonne B dans la colonne C, et inscris
alors


dans la colonne A le résultat trouvé de la colonne D (même ligne que
valeur
trouvée dans C).
Si par contre il ne trouve rien, qu'il indique le résultat sous forme
d'erreur ou de "nom absent"...
Exemple de résultat :
COLONNE A COLONNE B
Jacques Plan 1
René Plan 2
Francis Plan 3
Herbert Plan 4
Carajan Plan 5
Francis Plan 3
René Plan 2
Francis Plan 3
Carajan Plan 5
Nom Absent Plan 6
Enfin, s'il pouvait ne pas tenir compte des majuscules / Minuscules ce
serait top (que Herbert puisse être écrit HERBERT ou herbert)

Je sais le faire en fonctions excel normales
(recherche(majuscule)...etc...)
mais pas en VBA et là j'aimerai que cela se passe en vba pour gagner du
temps.

Merciiiiiiiiiiiiiii à vous tous
Michel








Poster une réponse
Anonyme