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

Microsoft 365 vba :Vlookup + incrémentation d'une plage de donnée

killmister

XLDnaute Nouveau
Bonjour à tous ,

je découvre le langage vba depuis quelques jours et sollicite l’aide d’experts pour m’accompagner dans mes tout premiers pas.

J’essaie de créer une fonction vlookup en vba

L’information présente dans la colonne B de la feuil1 doit être récupérer dans la colonne B de la feuil2 si les références sont communes en colonne A (sinon « #na »)

Or dans mon exemple seule la cellule B2 du fichier de destination en feuil2 est renseigné car je ne sais pas incrémenter.

Concernant la plage de destination je ne la définis pas car elle évolue d’une journée sur l’autre.

Voila ce que j’ai tenté avec le fichier vba_test:

Sub Mon VLOOKUP()

Feuil2.Range("B2") = Application.WorksheetFunction.VLookup(Feuil2.Range("A2"), Feuil1.Range("A1:B10"), 2, False)

End Sub



OU

Avec le fichier vba_test2

Sub Macro1()

Application.CutCopyMode = False

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Feuil1!R[-1]C[-1]:R[8]C,2,FALSE)"

Selection.AutoFill Destination:=Range("B2:B13"), Type:=xlFillDefault

Range("B2:B13").Select

End Sub



N’hésitez pas a revenir vers moi si je n’ai pas été assez clair ☹


Merci à tous

cordialement
 

Pièces jointes

  • vba_test.xlsm
    23.8 KB · Affichages: 2
  • vab_test2.xlsm
    25.8 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
Hello et bienvenu

quelques infos
pour inscrire une formule par VBA, ce que je fais
1) créer une chaine "Formule" qui contient la formule qui est à écrire
en prenant soin de traduire les fonctions en anglais, remplacer les ; par des , les " par des ""
2) appliquer la formule à la plage souhaitée

pour le coté "dynamique" de tes données: utilise les Tables structurées (j'en ai créé 2: t_T1 et t_T2)
==> l'ajout de données à la ligne suivant provoque l'adaptation immédiate de la table à la nouvelle ligne==> les formules sont recopiées, les mises en forme idem....
plus besoin de modifier les formules pour qu'elles prennent en compte les nouvelles lignes

va voir le code et les commentaires
 

Pièces jointes

  • vba_test.xlsm
    28.5 KB · Affichages: 1

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
748
Réponses
4
Affichages
453
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…