Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/09/2011, 10h34   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2010
Messages : 42
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 42
Points : 11
Points : 11
Par défaut liaison plages nommées rompu lors du déplacement de feuilles

Bonjour,

j'ai créé une macro qui déplace plusieurs feuilles d'un classeur A vers un classeur B. Mon problème vient du fait que lors de ce déplacement (qui est en fait un copier/coller), la référence à une plage nommée via une fonction indirect saute.

Je me retrouve donc dans mon classeur B, dans une feuille 1 avec des cellules faisant référence à une plage nommée située dans une feuille 2 de ce même classeur sans que la formule ne trouve la plage nommée.
En allant dans Insertion/noms/définir (Excel 2003), je me rend compte que le plages nommées situées dans en feuille 2 ont sauté car la localisation des plages commence par un #REF...

Existe t-il un moyen de contourner ce problème et ou de modifier via macro, toutes les références commençant par #REF en le nom de ma feuille 2 contenant ces fameuses plages ??

merci d'avance pour votre aide,
ci-dessous mon code de copier/coller


Code :
1
2
3
4
5
6
7
8
9
10
11
 
'-- Déplacement des différents onglets--------------------------------------
 
Var_Chemin = "TDB_CA_PREV_2012_MASTER v2.xls"
 
FichierSource = ActiveWorkbook.Name
 
Workbooks.Open Var_Chemin, 0, ReadOnly:=False
FichierDest = ActiveWorkbook.Name
 
Workbooks(FichierSource).Sheets(Array(Feuil4.Name, Feuil9.Name, Feuil2.Name, Feuil3.Name, Feuil11.Name, Feuil10.Name, Feuil5.Name)).Copy After:=Workbooks(FichierDest).Sheets(Feuil12.Name)
ridokou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 10h20   #2
Membre actif
 
Inscription : novembre 2008
Messages : 188
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 188
Points : 194
Points : 194
Bonjour,

Les plages nommées d'un classeur sont contenues dans la collection 'Workbook.Names' d'un classeur.

Par contre c'est en lecture seule donc tu ne peux pas copier cette collection d'un classeur à un autre. Il te faut donc copier les plages nommées dont tu as besoin.

Cf. l'explorateur d'objets (F2) pour plus de renseignements sur cette collection.
Sclarckone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h43.


 
 
 
 
Partenaires

Hébergement Web