Création de nom

[Résolu/Fermé]
Signaler
Messages postés
31
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
17 juillet 2019
-
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
-
Bonjour,
Je désire créer un nom via une macro. Ce nom sera ultérieurement utilisé dans une instruction VLOOKUP.
Mon problème: La référence qui est crée est encadrée par des guillemets, ce qui entraîne un rejet syntaxique de l'instruction. Comment faire pour éviter ces guillemets.
Voici le code que j'ai écrit:
z_table = "$D$20009:$FS$" & lig_work ' lig_work contient ici 20580
ActiveWorkbook.Names("matrice").Delete
'nouveau nom
ActiveWorkbook.Worksheets("recap").Names.Add Name:="matrice", RefersToR1C1Local _
:=z_table

Résultat: matrice = "$D$20009:$FS$20580"


zvlook1 = "=vlookup(z1,matrice,3,FALSE)"
ActiveCell.Formula = zvlook1

Cette formule est rejetée car elle est interprétée comme:
vlookup(z1,"$D$20009:$FS$20580",3,FALSE)

Si, en mode debug, après la création du nom et avant l'instruction vlookup je supprime ces guillemets çà marche.

Comment puis-je faire pour que ces guillemets ne soient pas générés?

Merci d'avance de votre aide.
Gérard
--

2 réponses

Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 644
Salut,

Les guillemets se mettent automatiquement parce que tu travailles avec des variables de type String.
Or, dans ton cas, la plage de calcul d'une formule est un Range, et donc se doit d'être déclaré comme tel.
Soit :
Dim z_table As Range
Set z_table = Worksheets("Feuil1").Range("$D$2:$FS$" & lig_work) ' lig_work contient ici 20580
ActiveWorkbook.Names("matrice").Delete
'nouveau nom
ActiveWorkbook.Worksheets("recap").Names.Add Name:="matrice", RefersToR1C1Local _
:=z_table
zvlook1 = "=vlookup(z1,matrice,3,FALSE)"
ActiveCell.Formula = zvlook1
--
Cordialement,
Franck
Messages postés
31
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
17 juillet 2019

Merci beaucoup. Cela marche maintenant parfaitement.
Gérard

--
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 644
De rien.
A+