Modifier des zones nommées auto vba excel

Résolu
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

4 réponses

  1. Contributeur
    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
    1. Contributeur
      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
      1. 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
        1. Contributeur
          J'ai édité, mettre RefersTo:=Selection (sans le .range)
          0
      2. Eriiic,

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

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

        pygos
        0