2012-09-14 20:31:52 +0000 2012-09-14 20:31:52 +0000
7
7

Pourquoi Excel me donne-t-il maintenant un avertissement sur les plages de noms déjà existantes sur la feuille de copie ?

Je travaille depuis plusieurs jours sur une feuille de calcul Microsoft Excel 2007. Je travaille à partir d'un modèle type de feuille et je le copie plusieurs fois sur une nouvelle feuille. Jusqu'à aujourd'hui, cela se passait sans problème. Cependant, au milieu de la journée, cela a soudainement changé et je ne sais pas pourquoi. Maintenant, chaque fois que j'essaie de copier une feuille de travail, j'obtiens une dizaine de dialogues, chacun avec un objet différent de l'intervalle de noms (indiqué ci-dessous par “XXXX”) et je clique sur “oui” pour chacun :

Une formule ou une feuille que vous voulez déplacer ou copier contient le nom “XXXX”, qui existe déjà sur la feuille de travail de destination. Voulez-vous utiliser cette version du nom ?

  • Pour utiliser le nom tel que défini dans la feuille de destination, cliquez sur Oui.
  • Pour renommer la plage à laquelle se réfère la formule ou la feuille de calcul, cliquez sur Non, et entrez un nouveau nom dans la boîte de dialogue Conflit de noms.

Les objets de l'intervalle de noms se réfèrent aux cellules de la feuille. Par exemple, E6 est appelé plage de noms PRE sur plusieurs feuilles (et ce, depuis le début) et certaines formules font référence à PRE au lieu de $E$6. L'un des “XXXX” ci-dessus est ce PRE. Ces plages de noms ne doivent être résolues qu'à l'intérieur de la feuille dans laquelle elles apparaissent. Cela ne posait pas de problème auparavant, même si la même plage de noms existait déjà sur plusieurs feuilles. Je veux conserver mes plages de noms.

Qu'est-ce qui a pu changer dans ma feuille de calcul pour provoquer ce changement de comportement ? Je suis retourné aux feuilles précédentes créées de cette façon et maintenant elles donnent aussi le message lorsqu'elles sont copiées. J'ai essayé un autre ordinateur et un autre utilisateur, et le même comportement se retrouve partout. Je ne peux que conclure que quelque chose a changé dans le tableur. Qu'est-ce que cela peut bien être et comment puis-je retrouver l'ancien comportement qui me permettait de copier des feuilles avec des plages de noms sans recevoir d'avertissement ?

En regardant dans le Name Manager, je vois que les plages de noms faisant l'objet de la plainte apparaissent deux fois, une fois comme portée Template et une autre fois comme portée Workbook. Si je supprime les scope Template, l'avertissement disparaît sur la copie, mais j'obtiens un tas d'erreurs #REF. Si je supprime les scope Workbook ones, tout semble correct et les avertissements sur la copie disparaissent aussi, donc c'est peut-être la réponse, mais je suis nerveux quant à l'effet que cette suppression aura et je me demande comment les Workbook ones ont vu le jour en premier lieu.

Est-ce qu'il sera sûr de simplement supprimer les entrées scopées du gestionnaire de noms Workbook et comment celles-ci ont-elles pu exister sans que je le sache au départ ?

Réponses (6)

6
6
6
2012-09-14 20:51:03 +0000

Ouvrez le gestionnaire de noms et trouvez les éléments faisant l'objet d'une plainte et supprimez tous ceux dont la portée est de Workbook et le problème des feuilles de copie disparaît et les formules restent intactes.

5
5
5
2014-07-11 09:59:53 +0000
Sub TOOLS_DELETENAMEDRANGE()

  Dim nm As name
  On Error Resume Next

  For Each nm In ActiveWorkbook.Names
    If (MsgBox("Delete name- " & nm.name, vbYesNo) = vbYes) Then  
      nm.Delete
    End If
  Next

  On Error GoTo 0

End Sub
2
2
2
2012-09-14 20:52:04 +0000

Ce n'est pas une erreur, mais un avertissement qu'un conflit existe et offre un choix sur ce qu'il faut faire

Lorsque vous copiez une plage qui comprend une référence à une plage nommée (généralement le champ de la feuille de calcul), et que ce même nom existe sur la feuille de destination, comment Excel peut-il savoir quel nom vous voulez utiliser dans le résultat ?

Pour ce qui est des changements, je vous suggère de revoir tous les noms de votre classeur, en particulier pour la portée.
Gestionnaire de noms - Ctrl-F3

1
1
1
2013-11-04 08:47:47 +0000

Ces noms sont pour la plupart le résultat d'un téléchargement de données via une API tierce. Les API utilisent généralement ces noms comme référence pour le référencement des cellules.

Une fois que vous avez traité certaines données, ces noms sont le plus souvent laissés de côté car l'utilisateur général ne nettoie pas les feuilles cachées (ou très cachées). La difficulté associée à ces noms est qu'ils n'apparaissent pas non plus dans la case NOMS et ne peuvent donc pas être supprimés par cette option.

Une façon de procéder consiste à programmer un script VBA. Exemple ci-dessous

Sub do_loop_names()
Dim vJunkName As Name
Debug.Print ThisWorkbook.Names.Count

For Each vJunkName In ThisWorkbook.Names
    vJunkName.Delete
Next vJunkName
End Sub

Notez que ce script supprimera TOUS les noms du classeur, donc si vous souhaitez conserver certains noms définis, veuillez indiquer les exceptions dans le code.

Si quelqu'un a une solution plus efficace, veuillez me le faire savoir.

0
0
0
2015-02-20 22:03:14 +0000

J'ai eu le même problème, et j'ai essayé chaque solution proposée, avec plus ou moins de succès :

1) J'ai ouvert le gestionnaire de noms et, bien sûr, il y avait un tas de noms que je n'avais jamais créés ; cependant, ce n'étaient PAS les noms dont on m'avait averti. Je les ai quand même supprimés pour me débarrasser du désordre, mais ce n'était pas la solution.

2) J'ai essayé le code fourni par Viquar (démarrer “Sub do_loops_names”). Je pense qu'une partie du code a été manquée, car je ne vois pas comment il fait quoi que ce soit et, bien sûr, rien ne s'est passé.

3) J'ai essayé le code fourni par l'utilisateur345338 (commence par “Sub TOOLS_…”) - PERFECT. Il m'a guidé à travers tous les noms cachés qui, d'une manière ou d'une autre, étaient coincés dans le classeur et les a supprimés. Merci beaucoup, user345338 (qui que vous soyez !).

BTW, à “codea” - le code de user345338 n'est pas “inutile” car il a résolu mon problème.

0
0
0
2013-07-01 18:49:58 +0000

Même problème ici avec 27 plages nommées mystérieuses. J'ai utilisé Ctrl+F3 (comme recommandé dans une autre réponse) pour afficher la liste des plages nommées (que je n'avais jamais configurée !). Il y en avait beaucoup puisque j'avais copié l'onglet de la feuille de calcul plusieurs fois et que je n'avais qu'à cliquer sur “oui” pour contourner le message. J'ai surligné et supprimé toutes les plages nommées (un petit écran à la fois, je ne pouvais pas tout sélectionner). La fois suivante où j'ai essayé de copier la feuille de calcul, la copie a réussi sans le message d'avertissement.

Assurez-vous de copier votre fichier original avant d'essayer cela.