Créer des noms de manière dynamique

  • Initiateur de la discussion Initiateur de la discussion fb62840
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

J'ai besoin de créer des noms dynamique de plages de cellules
dynamique car les noms en colonne seront plus ou moins nombreux au fil du temps
et les nombre d'items dans les listes sous les noms seront plus ou moins nombreux également au fil du temps

Sur la feuille ListEm

J'ai une série de noms en colonnes
(Cette série de noms peut changer (il peut y en avoir plus ou moins au fil du temps)
et, sous chacun de ces noms j'ai des valeurs qui peuvent changer (c'est à dire que là où il y en a 3, il peut y en avoir plus tard 5 etc).

Pourriez-vous m'aider à y parvenir ?

Merci beaucoup.
 

Pièces jointes

Re : Créer des noms de manière dynamique

Bonjour fb62840,

On ne sait pas très bien en quoi tu pourrais avoir besoin d'aide?
Pourquoi ne pas convertir chaque plage (d'une colonne --> le mieux serait de laisser une colonne vide entre deux colonnes de valeurs) en Tableau ... Cliquer dans la plage >> Insertion >> Tableau
La hauteur de chaque plage ainsi définie sera "dynamique"

[Edit:] Aaargh, pas vu que c'était XL 2003 (merci et salut st007 🙂)
On peut faire la même chose en nommant chaque plage et en la convertissant en "liste" (ancêtre des Tableaux)
 
Dernière édition:
Re : Créer des noms de manière dynamique

Salut,
Tu peux définir un nom de la sorte :

Exemple pour NOM1

=DECALER(ListEm!$A$2;;;NBVAL(ListEm!$A$2:$A$30))

Exemple pour NOM2

=DECALER(ListEm!$B$2;;;NBVAL(ListEm!$B$2:$B$30))

Cela permet d'avoir une liste jusqu'à la ligne 30.
OUPS, pas raffraichi.
@+ Lolote83
 
Re : Créer des noms de manière dynamique

Bonjour,

Merci pour la réponse, oui j'avais bien pensé à DECALER mais le problème est que 2 choses sont dynamiques,
- le nombre d'éléments sous le nom
et :
- le nombre de noms

La fonction DECALER m'offre une solution partielle car il faudrait créer un nouveau nom à chaque fois qu'un nom est ajouté à la liste ce qui n'est pas "crédible" avec mon travail en cours.

Ce que je souhaite est il réalisable ou pas ?

Merci encore
 
Re : Créer des noms de manière dynamique

Bonjour fb62840,

On ne sait pas très bien en quoi tu pourrais avoir besoin d'aide?
Pourquoi ne pas convertir chaque plage (d'une colonne --> le mieux serait de laisser une colonne vide entre deux colonnes de valeurs) en Tableau ... Cliquer dans la plage >> Insertion >> Tableau
La hauteur de chaque plage ainsi définie sera "dynamique"

[Edit:] Aaargh, pas vu que c'était XL 2003 (merci et salut st007 🙂)
On peut faire la même chose en nommant chaque plage et en la convertissant en "liste" (ancêtre des Tableaux)

Bonjour,

J'avoue ne pas comprendre du tout la proposition, un éclairage ?

Merci
 
Re : Créer des noms de manière dynamique

Re-bonjour fb62840,
Salut aux autres,

@fb62840: le problème, est que personne ne sait ce que tu as en tête 😕

Tu voudrais pouvoir inscrire des données dans ta feuille et qu'Excel détecte automatiquement s'il s'agit de valeurs à ajouter à une plage nommée existante ou s'il faut créer un nouveau nom? ... C'est ça que tu as imaginé?

[Edit:]
Hey, salut jeune fille! 😀
 
Re : Créer des noms de manière dynamique

Bonjour,

Je vais essayer d'être plus clair :

Il me faut définir autant de Nom que de colonnes dans laquelle il y a un nom en ligne 1
Chacun de ces noms doit faire référence au contenu des lignes de 2 à x (x étant la dernière ligne sur laquelle une valeur apparaît)

A chaque ajout de nom dans une colonne ou de valeurs en lignes saisies dans une colonne il me faut soit créer un nouveau Nom soit 'actualiser' la zone à laquelle le nom défini doit faire référence. Créer un nouveau Nom si la colonne n'en contenait pas, actualiser le nom si la colonne contenait déjà des données.

Merci pour votre aide


J'espère que c'est plus clair.
 
Re : Créer des noms de manière dynamique

Re-bonjour,

Avez-vous pris connaissance de ceci ?...

A bientôt 🙂

Merci j'ai bien pris note du lien et j'ai observé le comportement des macros présentes.
Elles aboutissent à un résultat proche de ce que je souhaite obtenir mais cette partie de code ne convient pas :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Select Case Target.Column
    Case 1, 2, 3
        Call nom(Target.Column)
    End Select
End Sub
Il me faudrait pouvoir considérer toutes les colonnes qui contiennent des données et pas simplement la colonne 1, 2 et 3

j'ai essayé de corriger mais je n'y suis pas parvenu
 
Re : Créer des noms de manière dynamique

Merci, cela fonctionne, du moins en partie car si j'ajoute une ligne et que je clique sur le bouton j'obtiens une erreur, il n'y a pas d'actualisation de la zone de nom définie.
De même si les données présentes dans une colonnes sont modifiées voire même si toute la colonne est effacée, le nom persiste à exister alors qu'il conviendrait qu'il disparaisse.

J'ai bien conscience que je n'avais pas prévu cela.
 
Re : Créer des noms de manière dynamique

Bonjour à toutes et à tous,

...cela fonctionne, du moins en partie...

Dans ce cas, une autre suggestion avec la suppression préalable des noms.

Code:
Option Explicit
Sub Noms_supprimer_définir()
    Dim n As Name, Col&
    For Each n In ActiveWorkbook.Names
        If Left(n.Name, 1) = "_" Then n.Delete
    Next
    '---------------------------------- code de JCGL (merci !)----------------------------------
    For Col = 1 To Range("IV1").End(xlToLeft).Column
        Range(Cells(2, Col), Cells(Rows.Count, Col).End(xlUp)).Name = Cells(1, Col)
    Next Col
    '-------------------------------------------------------------------------------------------------
End Sub

N.B. : les valeurs situées en ligne 1 ne doivent comporter aucun espace et le premier caractère doit être un _

A bientôt 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
385
Réponses
4
Affichages
291
Réponses
9
Affichages
486
Retour