[Excel] déplacer feuille et plages nommées
Résolu/Fermé
Yoskopolite
Messages postés
83
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
9 novembre 2012
-
1 oct. 2009 à 17:27
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 - 6 oct. 2009 à 13:22
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 - 6 oct. 2009 à 13:22
A voir également:
- [Excel] déplacer feuille et plages nommées
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Word et excel gratuit - Guide
3 réponses
Yoskopolite
Messages postés
83
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
9 novembre 2012
8
5 oct. 2009 à 08:27
5 oct. 2009 à 08:27
Ouais. C'est un peu relou, mais je suppose qu'il n'y a pas d'autre solution ^^'
Merci à toi pour cette idée.
Merci à toi pour cette idée.
Yoskopolite
Messages postés
83
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
9 novembre 2012
8
6 oct. 2009 à 13:22
6 oct. 2009 à 13:22
Effectivement, la seule solution est bien une nouvelle définition des plages.
Voici comment j'ai procédé pour résoudre mon problème :
1 - supprimer la feuille qui contient les plages nommées
2 - utiliser une macro pour supprimer toutes les plages nommées dont la plage commence par "#REF!" (la référence est pétée car le nom de la plage est toujours présent même si on a supprimé la feuille contenant la plage)
3 - importer la nouvelle version de la feuille.
Pour l'étape 2, j'ai réalisé ça ainsi (version simplifiée de ma fonction) :
Encore merci à toi
Attention cependant : lorsqu'on importe une feuille, il amène avec lui tous les noms définis du workbook source MEME ceux qui ne sont pas sur la feuille qu'on transfère. Il faut donc aussi veiller à ce qu'il n'y ait pas de conflit de noms sur les autres feuilles de nos workbooks...
Je trouve qu'Excel gère vraiment mal cette histoire de noms définis...
Voici comment j'ai procédé pour résoudre mon problème :
1 - supprimer la feuille qui contient les plages nommées
2 - utiliser une macro pour supprimer toutes les plages nommées dont la plage commence par "#REF!" (la référence est pétée car le nom de la plage est toujours présent même si on a supprimé la feuille contenant la plage)
3 - importer la nouvelle version de la feuille.
Pour l'étape 2, j'ai réalisé ça ainsi (version simplifiée de ma fonction) :
Dim lo_Nom As Excel.Name 'parcour des noms définis du workbook For Each lo_Nom In monWorkbook.Names 'si la feuille du nom défini est un "#REF!" alors on le supprime If InStr(lo_Nom.RefersToR1C1, "#REF") > 0 Then lo_Nom.Delete End If Next End Function
Encore merci à toi
Attention cependant : lorsqu'on importe une feuille, il amène avec lui tous les noms définis du workbook source MEME ceux qui ne sont pas sur la feuille qu'on transfère. Il faut donc aussi veiller à ce qu'il n'y ait pas de conflit de noms sur les autres feuilles de nos workbooks...
Je trouve qu'Excel gère vraiment mal cette histoire de noms définis...
Sloubi76
Messages postés
1366
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
10 décembre 2016
135
1 oct. 2009 à 20:55
1 oct. 2009 à 20:55
Bonsoir,
Le problème vient des références qui n'évoluent de feuilB à feuilBbis.
La solution serait d'automatiser via une macro la modification des feuille de référence pour que les listes retrouvent le fonctionnement attendu.
@ +
Le problème vient des références qui n'évoluent de feuilB à feuilBbis.
La solution serait d'automatiser via une macro la modification des feuille de référence pour que les listes retrouvent le fonctionnement attendu.
@ +
5 oct. 2009 à 18:35
Certe un peu lourd, ou alors passer par une suppression de la feuille B avant l'import de la Bbis, comme vous l'indiquez, mais il faut en passer par une nouvelle définition des plages nommées.
A tester
@ +