Renommer automatiquement des noms du gestionnaire des noms

Bonjours à tous.

Je cherche à renommer automatiquement des noms de plage de cellules du gestionnaire des noms par la nouvelle valeur d'une cellule si elle est modifiée. Es-ce possible?

En fait, dès que la valeur de la cellule change, valeur qui correspond au nom d'une plage, le nom de cette liste soit remplacé par la nouvelle valeur de la cellule.

Cela demande à supprimer, ramplacer ou renommer le nom de la plage, dans le gestionnaire de noms, et de le remplacer par la nouvelle valeur de la cellule. Tout en gardant la formule dans fait référence à: =decaler(c3;0;0;nbval (c:c)-1).

Je n'est rien trouver sur le net qui parle de cela.

Merci à tous.

Bonjour,

Je récupère la formule, qu'elle puisse être quelconque :

    ActiveWorkbook.Names.Add Name:="ton_nom2", RefersTo:=Application.Names("ton_nom1").RefersToR1C1
    Application.Names("ton_nom1").Delete

eric

Merci Eriiic pour ton aide.

Maintenant le tout est de savoir comment utiliser ce bout de code. Le placer ou et comment l'activer.

Je te recontacterai plus tard car mon fils m'attend pour aller à la peche.

Merci à bientôt

Peut-être comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim nouveau As String, ancien As String
    If Not Intersect(Target, [A1:F1]) Is Nothing Then
        nouveau = Target
        Application.EnableEvents = False
        Application.Undo
        ancien = Target
        Target = nouveau
        Application.EnableEvents = True
        ActiveWorkbook.Names.Add Name:=nouveau, RefersTo:=Application.Names(ancien).RefersToR1C1
        Application.Names(ancien).Delete
    End If
End Sub

je ne contrôle pas l'existence de l'ancien nom, ils sont donc sensés être créé sur A1:F1 ici. Sinon plantage

eric

Excuse moi. Je suis mort! La pêche ça tue!!!

Demain j'aurai beaucoup plus de temps pour me mettre au travail.

En tout cas, merci de te soucier de mon problème. C'est vraiment gentil.

A demain ou à bientôt. .......

La pêche ça tue!!!

Surtout des poissons

Le tout est d'avoir passé une bonne journée

eric

Salut Eric

Merci pour ton code. Il marche à merveille si de mon coté je respecte les "normes"; Donner un nom sans espace, etc..

Merci beaucoup.

La première étape de mon projet est atteint. La route est encore longue mais je m’accroche pour concevoir mon fichier excel.

Merci de ton aide et de tes compétences dans le domaine de la VBA.

Merci à tous aussi.

A bientôt peut-être....

J'ai toute fois un souci,

La macro ne semble plus vouloir se lancer.

J'ai beau changer les noms dans les cellules, même rentrer un nom erroné, (ex: aa 01 à la place de aa_01) comme nom de plage, la macro semble inactive.

Même en repartant sur un nouveau classeur, pas de réaction de la macro.

Faut_il créer les noms de plage dans un 1er temps ou bien la macro crée elle même des noms automatiquement quand un nom valide est renseigné dans les cellules de la ligne A?

Bonjour,

pendant la phase de débogage, si tu rencontres une erreur tu vas rester avec les événements désactivés à cause de la ligne (nécessaire) Application.EnableEvents = False

Crée-toi une petite macro pour les ré-activer :

sub reinit()
Application.EnableEvents = True
end sub

Tu peux aussi ajouter qq lignes pour contrôler que le nom soit valide avant de traiter.

(t'inspirer de la fonction validerNom() du fichier suivant)

Sinon je peux te proposer ce que j'ai réalisé il y a qq temps.

Ca crée des noms dynamique, en corrigeant automatiquement caractères et les noms interdits comme C ou Fin1 par exemple :

2019 08 29 16 54 08

Par contre ça ne te supprimera pas les anciens noms. Il faut que tu démarres par la partie qui s'en occupe dans la proposition précédente.

eric

Merci Eric.

Avec ce 2eme code cela fonctionne instantanément.

Je vais rester simple dans la conception de ce fichier car il sera utilisé par une autre personne pour établir des plannings et si je ne peux pas intervenir s'il y a un bug, ça va être compliqué.

Je cherche à faire un planning sur les week-end uniquement.

Il prendrait en compte a la fois:

les personnes qui peuvent être présentent tel samedi ou tel dimanche en fonction de leur dispos communiqués dans le fichier

ainsi que leur aptitudes renseignés dans un tableau

le tout se retrouvant dans des liste déroulantes de choix.

Par exemple: pour le samedi 2/2/19; peuvent être présent; (A;D;F) et (A) est capable de (12;5;55;4) est capable de (11) et (F) est capable de (33;5;88)

Tu ma permis de pouvoir établir des noms de plage modifiable à volonté ce qui m'aide déjà beaucoup. l'utilisateur doit juste savoir qu'il faut remplacer les espaces par des underscore. c'est excellent.

Merci

Rechercher des sujets similaires à "renommer automatiquement noms gestionnaire"