Création de nom
Résolu
ESCOUGER
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
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 compte google - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Nom de compte steam exemple - Forum Jeux vidéo
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