Modifier des zones nommées auto vba excel

Résolu/Fermé
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021 - 7 juil. 2010 à 09:58
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021 - 7 juil. 2010 à 11:01
Bonjour,

Je suis confronté à deux problèmes :

1- suite à l'exécution d'une macro qui définit un nom pour une zone le résultat resort en format texte comme suit :

Range("F11:F53").Select
Names.Add Name:="S" & Range("e11") & ActiveSheet.Name & Range("f10") & Range("A7"), RefersTo:="'" & ActiveSheet.Name & "'!" & Selection.Address

Résultat :

SAU7LUMAS1 (nom de la zone)

="'7'!$F$11:$F$53" (macro génère des doubles côtes format texte)

Je suis obligé de revenir dans insertion/nom/définir/SAU7LUMAS1

et de supprimer les "

C'est long et fastidieux !

2- j'ai pour 12 onglets ( 480 zones définis)

Lorsque que je copie le fichier (déplacer-copier) je souhaiterais trouver une macro qui change le nom des zones définies en : (et ceci pour les 480 zones)

SAU7LUMAS1 -------> DEVIENT SME7LUMAS1 (la zone reste identique)


sauf si je trouve une solution pour le 1er problème cité.


Merci d'avance pour la résolution de mes deux questions.

Cordialement,

pygos




A voir également:

4 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 7/07/2010 à 10:40
Bonjour,

C'est normal puisque .address te retourne une chaine.
met :
,RefersTo:=Selection
sans la référence au classeur car elle est incluse dedans.

eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 juil. 2010 à 10:37
bonjour

Essaies ceci :
Range("F11:F53").Select
Names.Add Name:="S" & Range("e11") & ActiveSheet.Name & Range("f10") & Range("A7"), RefersTo:= ActiveSheet.Name & "'!" & Selection.Address


Pour ta deuxième question il faut faire une boucle sur la collection Names.
0
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021
7 juil. 2010 à 10:51
merci à tous les deux mais :

Pour la solution d'ériiic traduit comme suit :

Range("F11:F53").Select
Names.Add Name:="S" & Range("e11") & ActiveSheet.Name & Range("f10") & Range("A7"), RefersTo:=Selection.Range

j'obtiens un message d'erreur. erreur d'exécution '450'

Et pour la solution de gbinforme le résultat ne change pas :

="7'!$F$11:$F$53"

Merci à tous les deux pour votre recherche.......

Cordialement,

pygos
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 juil. 2010 à 10:54
J'ai édité, mettre RefersTo:=Selection (sans le .range)
0
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021
7 juil. 2010 à 11:01
Eriiic,


Un grand merci , c'est la solution à mon problème !


C'est rapide ! efficace ! Bonne continuation à tous les deux !


pygos
0