Comment insérer une variable entre guillemets dans une formule

Fermé
Gégé624501 - 16 déc. 2014 à 01:39
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 16 déc. 2014 à 12:12
Bonjour !

Quelqu'un pourrait-il m'expliquer pourquoi les guillemets "disparaissent" dans la formule inscrite dans les cellules par la macro suivante :

If Cadres <> 0
For i = 2 To (Cadres / 2) + 1
Team = Right(Range("T" & CStr(i)).Value, Len(Range("T" & CStr(i))) - 1)
Tour = Mid(Team, 2, 1)
'Team = """ & Team & """
If Tour = "2" Then
EquipeCadree = "=VLookup(" & "" & Team & "" & ", GagnantsP2Cadres, 2, False)"
ElseIf Tour = "3" Then
EquipeCadree = "=VLookup(" & "" & Team & "" & ", GagnantsP3Cadres, 2, False)"
End If
Range("V" & CStr(i)).Formula = EquipeCadree
Next
End If

Si je place 3 guillemets avant la variable Team, alors il considère cette variable comme une simple chaîne de caractère.
Avec cette écriture, il renvoie bien le contenu de la variable Team, mais sans les guillemets qui devraient l'encadrer, d'où une erreur.
Je bute lamentablement.

Merci de vos lumières.

1 réponse

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
16 déc. 2014 à 01:50
Bonjour,

essaye "=VLookup(""" & Team & """, GagnantsP2Cadres, 2, False)"

cdlt
0
Gégé624501
16 déc. 2014 à 11:45
Merci JvDo pour cette réponse rapide mais je l'avais déjà essayée et elle ne marche pas.
À force d'obstination j'ai trouvé cette solution qui marche :

ChV = Chr(34)
"=VLookup(" & ChV & "" & Team & "" & ChV & ", GagnantsP2Cadres, 2, False)"

Encore merci pour la réactivité et bonne journée
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858 > Gégé624501
16 déc. 2014 à 12:12
Bonjour,

quand je fais
team = "chaîne cherchée dans GagnantsP2Cadres"
[A1] = "=VLookup(""" & team & """, GagnantsP2Cadres, 2, False)"

et que je regarde dans la cellule A1, j'ai
=RECHERCHEV("chaîne cherchée dans GagnantsP2Cadres";GagnantsP2Cadres; 2;FAUX)

c'est exactement ce que tu obtiens avec ton écriture

cordialement
0