VBA insérer formule automatiquement en fonction de la ligne sélectionnée

Bonjour,

Mon besoin est de sélectionner une cellule puis de lancer une macro qui vient ajouter la formule dans la colonne F (6) de la ligne sélectionnée une formule du type rechercheV.

Je bloque sur le fait que le paramètre recherché de la fonction rechercheV doit être la valeur de la colonne C de la ligne sélectionnée (variable LookUpValue).

mais je ne trouve pas la syntaxe permettant de faire le rechercheV sur la variable LookUpValue.

Votre aide me serait précieuse.

Merci d'avance

Sub test_QRQC()
    Dim ligne As Long
    Dim colonne As Long
    Dim LookUpValue As Long

    ligne = ActiveCell.Row
    colonne = ActiveCell.Column

    LookUpValue = Cells(ligne, 3)

    Cells(ligne, 6).Select
        Selection.Formula = "=RECHERCHEV(LookUpValue;'\\snas104\[QRQC 2021.xlsx]Suivi des actions'!$D$8:$O$500;4;FAUX)"
End Sub

Bonjour,

La réponse a été donnée Ici par Numéro 2 il y a quelques minutes. Elle est pas belle la vie ? 😉

Bonjour Joyeux Noel

Je ne pense pas avoir compris car en remplaçant les ";" par des " ," et avec formulaR1C1 ou formulalocal

mon code devient

Sub test_QRQC()
    Dim ligne As Long
    Dim colonne As Long
    Dim LookUpValue As Long

    ligne = ActiveCell.Row
    colonne = ActiveCell.Column

    LookUpValue = Cells(ligne, 3)

    Cells(ligne, 6).Select
        Selection.FormulaLocal = "=Vlookup(LookUpValue,'\\snas104\\[QRQC - 2021.xlsx]Suivi des actions'!$D$8:$O$500,4,FAUX)"
End Sub

j'ai le message "Erreur défini par l'application ou l'objet"

Oui, formula et formulaR1C1, comme l'expliquait Numéro 2, demande à ce que ça fonctionne à l'anglaise. Il faut donc remplacer recherchev par VLOOKUP et les ; par des,

Ou alors si tu veux garder recherchev et les ; il faut mettre formulalocal.

Pour le moment, tu as toujours un mix des 2 solutions.

Bonjour à tous,

Et FAUX par FALSE si je dis pas de bêtises.

Cdlt,

PS : Pas fan des liaisons entre classeur ..

Merci pour vos réponses, autant pour moi, le code suivant permet bien de mettre la remplir la formule dans la cellule mais ma question principale est que cette macro doit remplacer "LookUpValue" par la valeur contenue dans la colone C de la ligne sélectionnée.

la formule selection.formula ne prend pas en compte l'attribution de la valeur par :

LookUpValue = Cells(ligne, 3)
Sub test_QRQC()
    Dim ligne As Long
    Dim colonne As Long
    Dim LookUpValue As Long

    ligne = ActiveCell.Row
    colonne = ActiveCell.Column

    LookUpValue = Cells(ligne, 3)

    Cells(ligne, 6).Select
        Selection.Formula = "=Vlookup(LookUpValue,'\\snas104\[QRQC 2021.xlsx]Suivi des actions'!$D$8:$O$500,4,FAUX)"
End Sub

LookUpValue = Cells(ligne, 3).Value

Merci pour la correction mais ca ne marche pas,

la formule est recopié tel quel en tant que texte et ne fait pas intervenir la variable LookUpValue.

une idée ?

Merci pour ton temps en tout cas

4exemple.xlsm (15.54 Ko)

Oui, normal en fait.

Il recopie textuellement tout ce qui se trouve entre guillemets. S'il y a une variable, il faut la sortir des guillemets.

Essaie ainsi :

Sub test_QRQC()
    Dim ligne As Long
    Dim colonne As Long
    Dim LookUpValue As Long

    ligne = ActiveCell.Row

    LookUpValue = Cells(ligne, 3).Value

    Cells(ligne, 6).Formula = "=Vlookup(" & LookUpValue & ",'\\snas104\\[QRQC 2021.xlsx]Suivi des actions'!$D$8:$O$500,4,0)"
End Sub

Si tu n'as rien à faire dans ta cellule ensuite, il n'est pas utile de la sélectionner pour y écrire la formule.

Excellent, Merci Beaucoup Joyeux Noel !

Je vais boucler, c'est juste une partie du code

A+

Rechercher des sujets similaires à "vba inserer formule automatiquement fonction ligne selectionnee"