Insertion de VLOOKUP par VBA et intrus @

Bonsoir

Je souhaite avoir une explication et une solution à mon petit problème.

J'ai créé une macro VBA qui insère une formule contenant une RECHERCHEV :

Sub INSERERREGLEMENT()
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
'Range("D1:D" & LR).ClearContents
Range("D1:D" & LR).FormulaR1C1 = "=RECHERCHEV(A1,tableaumails[[CLIENT]:[Dernière modif]],26,)"
End Sub

Les virgules dans la macro sont normales d'après ce que j'ai pu avoir comme erreur précédemment. Sinon erreur 1004 car ; non compris.

Ca fonctionne bien quand je l'exécute, mais un "arobase" vient se caler tout seul dans la formule quand je visionne mes cellules concernées et des quotes se mettent tout seul autour de A1 :

=@RECHERCHEV('A1';tableaumails[[CLIENT]:[Dernière modif]];26;)

image

Si j'enlève à la main le arobase et les 2 quotes autour de la cellule, alors ça fonctionne (logique) :

image

Comment puis je régler ce souci ?

Merci à vous

Bonsoir,

Essaie de remplacer FormulaR1C1 par Formulalocal ?

Bonjour ailuj, joyeux noël

Une autre solution:

Sub INSERERREGLEMENT()
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
Range("D1:D" & LR).ClearContents
Range("D1:D" & LR).Formula = "=Vlookup(A1,tableaumails[[CLIENT]:[Dernière modif]],26,)"
End Sub

Pour info, avec .formula et .formulaR1C1 il faut utiliser le format anglais sinon il y a ce @ qui vient se mettre, il faut donc traduire chaque élément (rechercheV devient VlookUp et les ; deviennent des ,)

avec la solution de joyeux noël tu utilise le format français donc tu peux garder rechercheV mais il faut utiliser des ;

Sub INSERERREGLEMENT()
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
Range("D1:D" & LR).ClearContents
Range("D1:D" & LR).Formulalocal = "=RechercheV(A1;tableaumails[[CLIENT]:[Dernière modif]];26;)"
End Sub

Bonjour et merci à vous 2.

En changeant FormulaR1C1 pour FormulaLocal et en y mettant les ;

ça fonctionne

Sub INSERERREGLEMENT()
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
'Range("D1:D" & LR).ClearContents
Range("D1:D" & LR).FormulaLocal = "=RECHERCHEV(A1;tableaumails[[CLIENT]:[Dernière modif]];26;)"
End Sub

Le mix des 2 langues a posé le souci.

Merci

Rechercher des sujets similaires à "insertion vlookup vba intrus"