ActiveWorkbook.Names.Add avec Nom dynamique et Reference dynamique

7ider5

XLDnaute Nouveau
Bonjour,

J'essaie de créer un formulaire contenant des listes dont les données - qui sont sur une autre feuille - sont amené à être mis a jour fréquemment.
Pour automatiser un peut l'affaire, j'ai fais une macro qui lit les données et donne un nom aux listes pour qu'elles puissent être attachés aux cellules du formulaire.

Pour nommer les listes j'utilise le code donné par l'enregistreur excel :
Code:
    ActiveWorkbook.Names.Add Name:="Format", RefersToR1C1:= _
        "=BaseDonnees!R4C3:R4C4"

Ici l'exemple marche bien pour une liste, que je nomme "Format"
-> Comment mette une variable à la place, de type string par exemple

L'emplacement de référence étant aussi dynamique je dois m'affranchir des lettres en utilisant Range() par exemple mais cette écriture ne marche pas :

Code:
Dim NomListe As String
      ActiveWorkbook.Names.Add Name:=[COLOR="Red"]NomListe[/COLOR], RefersToR1C1:= _
            "=BaseDonnees![COLOR="Red"]Range(Cells(i, j),Cells(i + x, j)[/COLOR]"

Avez vous des solutions?
Merci d'avance

Cordialement,
Pierre
 

Pièces jointes

  • Outil_V1.0.xls
    48 KB · Affichages: 198

Catrice

XLDnaute Barbatruc
Re : ActiveWorkbook.Names.Add avec Nom dynamique et Reference dynamique

Bonjour,

Essaie :
ActiveWorkbook.Names.Add Name:=NomListe, RefersToR1C1:= _
"=BaseDonnees!"&Range(Cells(i, j),Cells(i + x, j).Address

Les macros ne sont peut etre pas obligatoires pour faire ceci.
Tu peux voir un exemple ci-joint, avec un nom variable (CTRL+F3 pour voir)
 

Pièces jointes

  • Test.xls
    25 KB · Affichages: 387
  • Test.xls
    25 KB · Affichages: 392
  • Test.xls
    25 KB · Affichages: 401
Dernière édition:

Statistiques des forums

Discussions
312 737
Messages
2 091 497
Membres
104 960
dernier inscrit
jbhery@