Appliquer RechercheV sur toute une colonne

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

gillessimon

Guest
Bonjour,

dans le fichier ci-joint, je voudrais faire une macro pour remplir la colonne M en recherchant la valeur trouvée en L avec les codes de correspondance de la feuille Data.
Je sais le faire à la main avec la fonction recherchev en M2 et puis en tirant la poignée pour dupliquer sur les cellules M3.. mais ne sais pas le faire par macro.
Il faudrait que la macro se termine sur la condition de trouver une ligne vide dans la feuille principale, car cette feuille contient environ 2000 lignes et peut varier en taille (ce fichier n'est qu'une petite fraction du fichier global).

D'avance merci,
Gilles.
 

Pièces jointes

Re : Appliquer RechercheV sur toute une colonne

Bonjour Gilles, bonjour le forum,

Je te propose la macro suivante:
Code:
Sub Macro1()
 
Dim dl As Integer 'déclare la variavle dl (Dernière Ligne)
Dim p As Range 'déclare la variable p (Plage)
 
Set p = Sheets("Data").UsedRange 'définit la variable p
 
With Sheets("Liste_Concours_Non_Courus") 'prend en compte l'onglet "Liste_Concours_Non_Courus"
    dl = .Range("A65536").End(xlUp).Row 'définit la variable dl
    .Cells(2, 13).Formula = "=VLOOKUP(L2,Data!" & p.Address & ",2,FALSE)" 'place la forumule en M2
    Range("M2").Select 'sélectionne M2
    Selection.AutoFill Destination:=Range("M2:M" & dl), Type:=xlFillDefault 'recopie la formule jusqu'à la fin
End With
End Sub

P.S. j'ai noté qu'elle renvoyait des erreurs car le texte en Data n'est pas toujours le même que celui de ton tableau. Mais j'ai pensé que c'était à cause de l'exemple vite fait...
 
Re : Appliquer RechercheV sur toute une colonne

Bonjour Gilles, bonjour le forum,

Je te propose la macro suivante:
Code:
Sub Macro1()
 
Dim dl As Integer 'déclare la variavle dl (Dernière Ligne)
Dim p As Range 'déclare la variable p (Plage)
 
Set p = Sheets("Data").UsedRange 'définit la variable p
 
With Sheets("Liste_Concours_Non_Courus") 'prend en compte l'onglet "Liste_Concours_Non_Courus"
    dl = .Range("A65536").End(xlUp).Row 'définit la variable dl
    .Cells(2, 13).Formula = "=VLOOKUP(L2,Data!" & p.Address & ",2,FALSE)" 'place la forumule en M2
    Range("M2").Select 'sélectionne M2
    Selection.AutoFill Destination:=Range("M2:M" & dl), Type:=xlFillDefault 'recopie la formule jusqu'à la fin
End With
End Sub

P.S. j'ai noté qu'elle renvoyait des erreurs car le texte en Data n'est pas toujours le même que celui de ton tableau. Mais j'ai pensé que c'était à cause de l'exemple vite fait...



C'est génial, un grand merci, c'est exactement ce dont j'avais besoin,

Gilles.
 
- 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

Retour