générer la défnition des noms :s

  • Initiateur de la discussion Initiateur de la discussion fifi
  • 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 !

fifi

XLDnaute Occasionnel
bonjour,pour mettre à jours différents classeurs éparpillés un peu partout...
je voudrais pouvoir modifier les plages nommées d'un classeur via une macro

Pour cela j'ai une liste (noms en colonne A et formules en colonne 2), mais je n'arrive pas à réécrire les plages nommées via une macro .

j'essaye ce code mais ..ca ne marche pas

Code:
Sub NommerChampsDynamique()
  For Each c In Range("A1:A30")
    If Not IsEmpty(c.Offset(1, 0)) Then
      ActiveWorkbook.Names.Add Name:=c, RefersToR1C1Local:=c.Offset(0, 1)
     End If
   Next
End Sub

Mes plages nommées ressemblent à ca :
Nom de la plage : ASY_ligne_ampli
formule : =DECALER($A$1;EQUIV($O$23;$AI:$AI;0)-1;EQUIV("TMY0";$1:$1;0)+4;1;Info!$E$9)

Si quelqu'un peut m'aider svp 😀, merci
 
Re : générer la défnition des noms :s

Bonjour Fifi,

l'enregistreur de macros peut venir à ta rescousse :

Avec la formule que tu as mis dans ton post, voici ce que l'enregistreur me donne :
Code:
ActiveWorkbook.Names.Add Name:="ASY_ligne_ampli", RefersToR1C1:= "=OFFSET(R1C1,MATCH(R23C15,C35,0)-1,MATCH(""TMY0"",R1,0)+4,1,Info!R9C5)"

a+
 
Re : générer la défnition des noms :s

le problème c'est que j'en ai plus de 300 des plages définies. toute sles définir à la main va etre très tès fastidieux surtout que les formules vont être remise à jours en fonctions des mises à jour.
 
Re : générer la défnition des noms :s

bonsoir fifi,

désolé de te répondre si tard...
L'idéal serait de poster ton fichier pour pouvoir comparer les définitions des plages nommées, on pourra peut-être te proposer un code vba pour que ces plages soient définies automatiquement au démarrage du fichier.

A+
 
Re : générer la défnition des noms :s

bonsoir
, ci dessous l'adresse d'un classeur vierge avec juste la liste des noms définis 😀 y en a pas mal , tous différents presque et cela change souvent.

le top serait d'avoir cette liste sur un fichier txt et de pouvoir "charger" la liste au démarrage du classeur.

si tu peux m'orienter sur une solution pour réécrire cela 😀

merci
 
Dernière édition:
Re : générer la défnition des noms :s

bonsoir fifi,

ben dis donc quelle usine à gaz! Pardonnes-moi mais trop de plages nommées tue les plages nommées.

Désolé mais je ne vois pas comment résoudre ton pb, j'ai essayé quelques pistes mais sans succès. Peut-être qu'un autre forumeur pourra t'aider.

A+
 
Re : générer la défnition des noms :s

Bonjour tout le monde,

C'est vrai que excel ne réagit pas comme on l'attend sur Names.Add
Après de multiples essais je te livre où j'en suis en attendant mieux.

Je n'ai pas réussi à mettre la formule dans un nom sans qu'elle soit évaluée auparavant. Et je n'ai réussi à l'évaluer que hors macro :-s

Pour évaluer les formules:
- sélectionner B:B
- remplacer = par =
(fais par petites plages car sur certaines formules excel veut sauvegarder les infos (?). Peut-être que ça ne le fera pas sur le classeur complet)

Pour que les formules restent lisibles tu peux te définir un nom 'formule' après avoir sélectionné C1:
formule =LIRE.CELLULE(6; Feuil1!B1)
et remplir C avec =formule

et la macro:
Code:
Sub test()
    For Each c In Range("A1", [A65536].End(xlUp))
        ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:=c.Offset(0, 1).Formula
    Next c
End Sub
eric

edit: le fichier oublié
 
Dernière édition:
- 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

G
Réponses
3
Affichages
874
gentlamen
G
Retour