Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche verticale en VBA

  • Initiateur de la discussion Initiateur de la discussion PJ7
  • Date de début Date de début

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 !

P

PJ7

Guest
Bonjour,

J'ai le code VBA (recherche verticale) ci-dessous qui marche dans un même classeur (avec la feuille "Origine" d'où je récupère les données et la feuille "Résultat" où je mets le résultat de la recherche. J'ai modifié mon programme en plaçant la source de recherche (feuille "Origine") des données dans un autre classeur ("Référentiel"). Le résultat se trouve toujours dans la feuille "Résultat" du classeur "Destination". Je souhaite faire la recherche en VBA en prenant en compte ce changement. Je précise qu'avant la recherche le classeur source "Référentiel" et le classeur "Destination" seront tous les 2 ouverts au moment de la recherche. Je pense qu'il suffit de rajouter la référence au classeur ("Référentiel") dans ce code. Merci de me préciser la synthaxe.


Code:
Range("B2") = Application.WorksheetFunction.VLookup(Range("A2").Value, Worksheets("Origine").Range("A2:B6"), 2, False)
Code:


Je précise que je travaille sous Excel97.

Par avance merci,

PJ7
 
Re : Recherche verticale en VBA

Bonjour à tous,


Il me semble que cela fonctionnera si tu précises la feuille pour le Range("B2").

Code:
Feuil2.Range("B2") = Application.WorksheetFunction.VLookup(Range("A2").Value, Worksheets("Origine").Range("A2:B6"), 2, False)


A + à tous
 
Re : Recherche verticale en VBA

Bonsoir et merci d'avoir regardé mon problème. En fait, la cellule "B2" se trouve dans la feuille "Résultat" du classeur "Destination". La plage "A2:B6" où je recherche la valeur se situe dans la feuille "Origine" du classeur "Référentiel". Merci de m'indiquer la syntaxe appropriée.

Par avance merci,

PJ7
 
Re : Recherche verticale en VBA

Bonjour,

Je joins 2 fichiers pour illustrer mon problème. Je souhaite récupérer avec "VLookup", pour chaque compte, l'axe en feuille "Résultat" du classeur "Destination" en recherchant dans le classeur "Référentiel" (feuille "Origine"). Je précise que la feuille "Résultat" comprend une partie des comptes de la feuille "Origine". Je souligne que l'axe peut ne pas exister pour certains comptes.

En espérant être suffisamment précis.

Par avance merci,

PJ7
 

Pièces jointes

Re : Recherche verticale en VBA

Bonjour à tous,

Les deux fichiers ouverts. En C3 et vers le bas de Destination.xls et en feuille Résultat :
Code:
=SI(ESTNA(RECHERCHEV($A3;[Référentiel.xls]Origine!$A:$B;2;0));"";RECHERCHEV($A3;[Référentiel.xls]Origine!$A:$B;2;0))

Dans un module du fichier Destination.xls :

Code:
Feuil1.Range("B3:B50") =   "=IF(ISNA(VLOOKUP(RC1,[Référentiel.xls]Origine!C1:C2,2,0)),"""",VLOOKUP(RC1,[Référentiel.xls]Origine!C1:C2,2,0))"


A + à tous
 
Dernière édition:
Re : Recherche verticale en VBA

Merci beaucoup pour cette réponse rapide et adaptée. Je souhaiterais bien comprendre le code VBA ("ISNA", "RC1" et """" surtout). Serait-il possible de préciser ? Par ailleurs, quelle modification faudrait-il apporter dans le code VBA pour avoir une cellule vide et non un "0" quand il n'y a pas d'axe pour un compte ?

Merci beaucoup

PJ7
 
Re : Recherche verticale en VBA

Bonjour à tous,

Je t'ai mis la correspondance en fonction XL dans le message# 6.
RC1: pour même ligne et colonne 1 donc colonne A
"""" en VBA, il faut doubler les " : pour indiquer "" cela doit être """"


Applique un format personnalisé sur la colonne : Standard;;

Pour mémoire dans un format personnalisé, le premier argument concerne les positifs, le deuxième les négatifs et le troisième le 0
Donc avec le format préconisé tu n'auras que les positifs... Sans les négatifs et sans les 0
A + à tous
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
263
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…