Création de nom
Résolu
ESCOUGER
Messages postés
31
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
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
--
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
--
A voir également:
- Création de nom
- Creation de site web - Guide
- Creation de compte google - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- La création de contenu sous ce nom n’est pas autorisée. essayez un autre nom. ✓ - Forum Facebook
2 réponses
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 :
Cordialement,
Franck
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