Etendue de nom

nono555

XLDnaute Occasionnel
Bonjour,

Je souhaiterais savoir comment modifier l'étendue de zone que j'ai défini dans le gestionnaire de nom.

Je ne sais pas si c'est possible en VBA et je n'y arrive pas en manuelle car, quand je vais dans le gestionnaire de nom et que je souhaite modifier un nom, la zone "Zone" est grisée.

Merci de votre aide.

Nono
 

MJ13

XLDnaute Barbatruc
Re : Etendue de nom

Bonjour Nono

Normalement, l'enregistreur de macros pourra fortement t'aider.

Sinon, dans ta macro, si tu sélectionnes ta zone à la souris, il suffit de remplacer dans le code en dur par selection

Exemple:
Code VBA:
Sub Macro1()
ActiveWorkbook.Names.Add Name:="ZoneA", RefersToR1C1:="=Feuil1!R3C3:R11C3"
End Sub
Sub Macro2()
ActiveWorkbook.Names.Add Name:="ZoneA", RefersToR1C1:=Selection
End Sub





Par contre si le nom est grisé dans le gestionnaire de nom, c'est qu'il y a un problème. La feuille est peut-être protégée?
 
Dernière édition:

Goosse_Clement

XLDnaute Nouveau
Re : Etendue de nom

Bonjour Nono555,

Pourriez-vous joindre un fichier avec votre problème?

Pour ne pas devoir tout le temps redéfinir les noms, il est intéressant d'utiliser la fonction DECALER ou OFFSET en anglais.

Si une ligne ou une colonne est retirée, la zone est constamment adapté à votre tableau.

Clément
 

Staple1600

XLDnaute Barbatruc
Re : Etendue de nom

Bonjour à tous

Une autre syntaxe pour nommer une plage
(avec ici en plus le traitement du redimensionnement de la dite plage
ici dans l'exemple la colonne A d'une feuille)
Code:
Sub nommerplage()
Dim plage As Range, dl&
dl = Cells(Rows.Count, "A").End(xlUp).Row
Set plage = Range("A1:A" & dl)
plage.Name = "MAZONENOMMEE"
End Sub
 
Dernière édition:

nono555

XLDnaute Occasionnel
Re : Etendue de nom

Petite précision pour mon problème car je ne me suis peut être pas bien exprimée : je n'ai pas de soucis pour définir une zone mais pour en définir l'étendue : c'est à dire de savoir si ce nom défini est valable dans tous le classeur ou seulement dans une feuille.

Merci.
 

nono555

XLDnaute Occasionnel
Re : Etendue de nom

Voici un exemple :

Les colonnes A et B de la feuille "Scénario DIT" sont définies uniquement dans cette feuille alors que COLB et COLD sont définis dans tout le classeur.

Merci.
 

Pièces jointes

  • testetendue.xlsx
    12.1 KB · Affichages: 67

Dranreb

XLDnaute Barbatruc
Re : Etendue de nom

Bonjour.
Un nom faisant partie de la collection Names d'une feuille donne lieu à un nom de la collection Names du classeur, mais il y est précédé du préfixe de feuille suivi d'un point d'exclamation, exactement comme pour des adresses de cellules de cette feuille depuis une autre.
P.S. Et réciproquement. Un nom dans le classeur de la forme "Feuil1!Nom" donne lieu à un nom "Nom" de la collection Names de la feuille "Feuil1"
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Etendue de nom

Bonjour à tous

une manière un peu plus académique pour définir les zones nommées
colDateEffet_1 ='Scénario DIT'!$A:$A
à remplacer par
=DECALER('Scénario DIT'!$A$4;;;NBVAL('Scénario DIT'!$A:$A)-1)


colDureePret_1 ='Scénario DIT'!$B:$B
à remplacer par
=DECALER('Scénario DIT'!$B$4;;;NBVAL('Scénario DIT'!$B:$B)-1)

à+
Philippe
 

Discussions similaires

Réponses
15
Affichages
637

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 975
dernier inscrit
denry