Problème de lookup sur une colonne

  • Initiateur de la discussion Initiateur de la discussion guy974
  • 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 !

G

guy974

Guest
Bonjour à tous,

En fichier joint, mon code bloque sur la fonction lookup en vba.

Le fichier est annoté pour les explications

Avez-vous un idée pour que ça fonctionne ?

Merci d'avance

Guy
 

Pièces jointes

Re : Problème de lookup sur une colonne

Bonsoir le fil,

Voici une macro :

Code:
Sub Intitulé()
Dim cel As Range, valeur As Variant
[B7:B65536].ClearContents
For Each cel In Range([A7], [A65536].End(xlUp))
valeur = Application.VLookup(cel, Sheets("table").[B:C], 2, 0)
If Not IsError(valeur) Then cel.Offset(, 1) = valeur
Next
End Sub

Et le fichier joint.

A+
 

Pièces jointes

Re : Problème de lookup sur une colonne

et si jamais ma table est dans un autre classeur, comment puis je faire ?!

J'ai essayé de la façon suivante mais il me dit : "erreur 9 : l'indice n'appartient pas à la sélection"

Voici le bout de code :

Code:
 Sub Vlookup()

Dim cel As Range, valeur As Variant
[B7:B65536].ClearContents
For Each cel In Range([A7], [A65536].End(xlUp))
valeur = Application.Vlookup(cel, Workbooks("C:\Docqual\Doc\Répertoiredetravail\Table_test_Vlookup").Sheets("table").[B:C], 2, 0)
If Not IsError(valeur) Then cel.Offset(, 1) = valeur
Next

End Sub



Toute idée sera la bienvenue !
merci
 
Re : Problème de lookup sur une colonne

Bonjour AQSE, le fil, le forum,

Supposons que le tableau soit maintenant la plage A2:B13 de la Feuil1 du classeur Classeur1.xls, et que ce classeur soit ouvert.

Dans le classeur de la macro, définir (Insertion-Nom-Définir) le nom tablo par la formule :

=[Classeur1.xls]Feuil1!$A$2:$B$13

Ensuite dans la macro écrire cette ligne :

Code:
valeur = Application.VLookup(cel,[COLOR="Red"] [tablo][/COLOR], 2, 0)

La macro fonctionne seulement si Classeur1.xls est ouvert.

EDITION : on remarquera que si l'on entre dans la feuille de calcul la formule :

=RECHERCHEV(A8;tablo;2;0)

cette formule fonctionne même si Classeur1.xls est fermé, contrairement à ce qui se passe en VBA.

A+
 
Dernière édition:
Re : Problème de lookup sur une colonne

Re,

Pour tenir compte de mon édition du post précédent (fonctionnement de la formule dans la feuille de calcul), voici une macro qui fonctionne même si Classeur1.xls est fermé :

Code:
Sub Intitulé()
Dim cel As Range
[B7:B65536].ClearContents
For Each cel In Range([A7], [A65536].End(xlUp))
cel.Offset(, 1).FormulaR1C1 = "=VLOOKUP(RC[-1],tablo,2,0)"
cel.Offset(, 1).Value = IIf(IsError(cel.Offset(, 1)), "", cel.Offset(, 1))
Next
End Sub

Tout simplement on entre d'abord la formule dans la cellule pour forcer son calcul.

A+
 
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

  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
501
Retour