Nommer ou renommer une plage de cellule par une cellule

hellboy02

XLDnaute Nouveau
bonjours a tous,
voilà, je voudrais savoir si y a possibilité de nommer ou renommer un plage de cellule par une cellule.
je m'explique, j'ai un tableau avec des listes en cascade, si ces listes change ( comme c'est le cas ) je dois modifier le nom de la plage concerner pour que ces listes en cascade fonctionne.
alors je souhaiterai par exemple : que feuil1 cellule A1 = toto, A2 = blabla, etc jusqu'a A5, si cellule A1 contient
le mot Plombier la plage concerné porterai le même nom , en faite je souhaite pouvoir changer le nom ma plage de cellule à volonté sans passez par le gestionnaire de nom, rien que par le contenue de la cellule A1.
j'ai cherché sur plusieurs sites et forums et je n'ai rien trouvé à ce sujet, à croire que c'est impossible à réalisé.
je vous remercie d'avance de l'aide que vous pourrez m'apporter.
cordialement
 

Theze

XLDnaute Occasionnel
Bonjour,

Une piste mais il te faut initialiser le tableau qui va contenir les noms situés en A1:A5 et bien sûr, ces noms doivent exister et correspondre à la plage de cellule. Pour initialiser le tableau, soit tu changes de feuille pour exécuter automatiquement "Worksheet_Activate()" soit tu l'exécute directement avec F5 car pas d'argument demandés :
Code:
Dim Tbl(1 To 5) As String

Private Sub Worksheet_Activate()
   
    'initialise le tableau avec les 5 noms
    Tbl(1) = Range("A1")
    Tbl(2) = Range("A2")
    Tbl(3) = Range("A3")
    Tbl(4) = Range("A4")
    Tbl(5) = Range("A5")
   
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Nom As Name

    If Target.Value = "" Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
   
    If Not Not Tbl() Then
   
        Set Nom = ThisWorkbook.Names(Tbl(Target.Row))
        Nom.Name = Target.Value
       
    End If
   
End Sub
 

hellboy02

XLDnaute Nouveau
j'ai tester, je ne sais pas si j'ai bien compris (j'y connait rien en vba), mais j'ai une erreur d'exécution 1004.
en simple je souhaite que si A1 porte le nom de ex: momo la plage de cellule porte le même nom en sachant que A1 peut changer a tout moment.
et encore merci de votre aide, je vais continuer à creuser.
cordialement
 

zebanx

XLDnaute Accro
Bonsoir Theze, le forum

Avec l'aide de VGENDRON que je salue bien amicalement, un fichier de suppression des noms (attention : tous les noms) et de renommer à la fois des listes simples et des formules, pour lesquelles la langue anglaise est sauf erreur indispensable.

Plus clair dans le fichier.

Bonne soirée,
zebanx
 

Pièces jointes

  • plage_nommer.xls
    56.5 KB · Affichages: 18

eriiic

XLDnaute Barbatruc
Bonjour,

un utilitaire que j'avais fait pour créer des noms dynamiques valides.
Par contre les listes doivent être verticales. Tu sembles les avoir mises en horizontal : cellule A1 = toto, A2 = blabla, etc jusqu'a A5
A moins qu'il ne faille lire A1, B1, C1, ...
fLM51mFyslj

Regarde si ça te va.
eric

Edit : à te relire j'ai l'impression que c'est plutôt ça que tu veux :
- tu remplaces en A4 toto par Tata
- rechercher toto en ligne 1 pour le remplacer par Tata et renommer la plage sur la colonne.
C'est faisable aussi
 

Pièces jointes

  • Noms dynamiques 1.1.xlsm
    95.9 KB · Affichages: 30
  • 2018-10-23_23-49-01.png
    2018-10-23_23-49-01.png
    24.5 KB · Affichages: 28
Dernière édition:

hellboy02

XLDnaute Nouveau
merci Theze, Zebank et Eriiic pour votre travail et votre rapidité très efficace.
la méthode de Theze me convient parfaitement, j'aurai juste une dernière demande pour ma compréhension ( et oui en plus d'être une quiche en vba, j'y pane rien en anglais, pour moi c'est du chinois et vice et versa) peut-tu m'expliquer chaque lignes de code et leur correspondance, mon soucis en faite, c'est que j'ai voulus démarrer ma liste en A2: A6 au lieu de A1:A5 et malgré mes changements dans le code j'obtiens une erreur d'exécution 9,
y a quelque chose qui m'échappe c'est sur mais quoi ? ( vu que ça faite 3 heure que je planche dessus j'ai revu mon niveau à la baisse, de débutant je passe à grosse quiche ) sur ce, chapeau bas messieurs pour votre dextérité et maitrise du sujet.
pour moi je l'affaire et résolue ( et au là main )
bonne journée à tous.
et encore merci.
cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 199
Membres
102 816
dernier inscrit
bolivier