VBA: Copier une feuille dans un autre classeur et travailler avec la copie [Résolu]

Guy_M

XLDnaute Occasionnel
Bonjour,

Je souhaite travailler sur la copie d'une feuille faite à partir d'un autre classeur.

J'ai une variable contenant la feuille originale, une variable de la feuille où positionner la copie (pour before ou after). Comment fais-je pour affecter la feuille copiée à une autre variable ?

VB:
(...)
FeuilleOriginale.Copy after:=FeuillePosition
Set FeuilleCopiée = ???
(...)

Je ne sais pas quoi mettre à la place des ???.

Travailler avec FeuilleOrigianle.Name n'est pas vraiment possible, le nom peut changer si une feuille avec le même nom existe déjà dans le classeur où est copiée la feuille.

Par avance, je vous remercie de votre aide.

Guy
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : VBA: Copier une feuille dans une autre classeur et travailler avec la copie

Bonjour ,

donc je suppose que le classeur de la feuille d'origine s'appelle classeur1

et donc le thisworkbook est pour rappel le classeur contenant la macro exécutée

Code:
Sub copie_Onglet()
Dim Origine As Worksheet, Cible As Worksheet
Set Origine = Workbooks("Classeur1.xls")
Origine.Copy after:=ThisWorkbook.Sheets.Count

'là la feuille copiée devient active
Set Cible = ThisWorkbook.Worksheets(ActiveSheet.Name)

End Sub
 

Guy_M

XLDnaute Occasionnel
VBA: Copier feuille dans un autre classeur et travailler avec la copie [résolu]

Bonjour,

Merci camarchepas pour l'information capitale : après copie, la feuille active est la feuille copiée.

Ainsi, je sais ce qu'il faut écrire à la place des ???
VB:
(...)
FeuilleOriginale.Copy after:=FeuillePosition
Set FeuilleCopiée = FeuillePosition.Parent.ActiveSheet
(...)

A bientôt
Guy
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 076
dernier inscrit
LoneWolf90