Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comparaison sur 3 colonnes

7 réponses
Avatar
Help ME
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

7 réponses

Avatar
papou
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" a écrit dans le message de news:
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




Avatar
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

Avatar
papou
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" a écrit dans le message de 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





Avatar
Help ME
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" a écrit dans le message de
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





Avatar
AV
Tout à fait d'accord ;-)


On est au moins 2 !
;-)
AV

Avatar
Help ME
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" a écrit dans le message de
news:%
Tout à fait d'accord ;-)


On est au moins 2 !
;-)
AV





Avatar
Help ME
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" <cestpasbon@çanonplus44.fr> a écrit dans le message de
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" a écrit dans le message de news:
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