XL 2016 Fonction rechercheV en VBA sur plusieurs colonnes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Michel_ja

XLDnaute Occasionnel
Bonjour à tous,
j'ai deux petits soucis avec mon fichier excel.
1-Tout d'abord, j'ai bien trouvé sur ce forum comment faire une rechercheV en vba, et j'ai cela de la part de Pierrot93:
Sub test()
With Sheets("Feuil1")
.Range("B1").Value = WorksheetFunction.VLookup(.Range("A1").Value, Sheets("Feuil2").Range("A1:B100"), 2, False)
End With
End Sub
Mais lorsque j'essaie de l'appliquer à mon fichier pour écrire la formule en rouge sur la feuille "Test for segmentations" cela ne fonctionne pas.

2-Une fois le code trouvé, j'aimerai savoir si on est obligé de répêter les lignes de codes pour autant de colonnes qu'on a ou est-ce qu'on peut faire une espèce de boucle ou une sorte d'incrémentation (qu'on fait lorsqu'on ajoute "Colonne" dans la formule Excel. En fait, j'aimerai appliquer la formule bleue pour une vingtaine d'années.

J'espère que vous pourrez m'aider.
Je joins le fichier.
MERCI
 

Pièces jointes

Merci Wolf. En A5 je veux obtenir 1234081 qui est le résultat de la RechercheV. Mais j'aimerai avoir cette fonction en VBA car la formule excel devient inutilisable lorsque je voudrais faire un copier coller de cette fonction ; un peu plus tard ma feuille "Database" est supprimée mais je souhaite garder la formule.
 
Re

Ce que tu demande est bizarre. Puisque tu as toute une colonne avec les codes, en A2 j'ai créé une liste déroulante avec les codes. Fait ton choix, si code non trouvé, un message s'affiche.

Le code est dans le module de la feuille. Clic-droit sur la feuille > Visualiser le code.
 

Pièces jointes

Merci pour ton soutien ! Je pense que j'ai mal exprimé mon besoin; c'est plus simple que ce que tu as fait. Je souhaite uniquement que dans ma colonne A, apparaissent la fonction RechercheV que j'ai déjà préécrite =RECHERCHEV($C5;Database!$C$2:$E$11;1;FAUX) mais que cette dernière se fasse via du VBA. Puis après pour l'appliquer à l'ensemble des lignes je ferai un copier/coller ou alors s'il y a la possibilité de faire une boucle directement.
La raison de la RechercheV en VBA est que plus tard ma feuille database disparait donc je perd la formule si écrite sans vba. Dans 1 mois lorsque je ferai une mise à jour des données, j'aurai à nouveau une feuille database, et donc la formule sous VBA sera toujours identique.
Après, peut-être que la fonction Match en VBA fait la même chose que RechercheV
Merci
 
Re Michel

En A5 je veux obtenir 1234081
. C'est ce que fait la macro et application.Match fait la même chose que RechercheV.

Et maintenant tu dis
Je souhaite uniquement que dans ma colonne A, apparaissent la fonction RechercheV que j'ai déjà préécrite =RECHERCHEV($C5;Database!$C$2:$E$11;1;FAUX)
Donc en toute lettre si je comprends bien. Mais pour quoi faire?? 😵
 
Dans ta macro je dois absolument choisir un Mnemonic en Cellule A2 et le résultat du Vlookup apparait dans la correspondante. Est ce qu'on pourrait avoir la même formule mais appliquée directement dans l'ensemble des ligne de la colonne A ? Avec si Vlookup ou Match ne trouve pas le mnemonic avoir "#N/A" .
Je voulais en toute lettre ou plutôt que le VBA garde la formule apparente pour faire un copier coller formule (comme si je l'avait faite avec la fonction Excel) sur l'ensemble des lignes mais si on fait une boucle alors ce n'est plus la peine d'avoir en toute lettre !
 
Re

Pour la boucle pas de problème, si c'est bien ça que tu veux.

EDIT: voilà qui est fait. À partir de la colonne B, utilise TAB du clavier jusqu'à la colonne C.

Ce que je ne comprend pas, pourquoi tu voulais avoir ceci comme résultat.

formule.gif
 

Pièces jointes

Dernière édition:
Merci Lone-wolf. En fait, je pensais qu'une boucle prendrait beaucoup de temps, alors j'avais privilégié de créer la formule dans une cellule comme lorsqu'on fait les formules avec les fonctions standards d'Excel (et non obtenir son résultat) et puis faire un copier coller speciale formule sur la range ! Mais la boucle c'est parfait finalement. MERCI
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
410
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
387
Réponses
28
Affichages
2 K
Retour