Bonjour Sabine, le Forum
On peut bien sûr 'piloter' un autre classeur (Cible) depuis un UserForm contenu dans un Classeur (Source).
Par contre il n'y a pas de Syntax Globales Standard à te donner. Tout dépend de ce que tu dois faire comme traitement...
Exemple de base,
déclarer tes Objets WorkBooks et WorkSheet
Sub ReportDonnees()
Dim WBSource As Workbook, WBCible As Workbook
Dim WSSource As Worksheet, WSCible As Worksheet
Dim PlageSource As Range
Set WBSource = Workbooks('Classeur1.xls')
Set WSSource = WBSource.Worksheets('Feuil1')
Set WBCible = ThisWorkbook
Set WSCible = WBCible.Worksheets('Feuil1')
With WSSource
Set PlageSource = .Range('A2:E' & .Range('A65536').End(xlUp).Row)
PlageSource.Copy WSCible.Range('A1')
End With
End Sub
Sinon un exemple comme ça à la volée d'un UserForm qui va lister dans une ListBox avec Propriété MultiSelect toutes les feuilles...
Celui-ci permettra :
De faire sa sélection de feuilles à copier, et en ayant la possiblité de choisir :
=> Copie des feuilles sélectionnées vers un Nouveau Classeur.
=> Copie des feuilles sélectionnées vers Classeur Existant.
Cette dernière option va permettre de faire 'deux/trois petites choses' :
=> Proposer une boite de dialogue 'GetOpenFileName' pour sélectionner un classeur existant.
=> Vérifier si les feuilles existent déjà dans ce classeur sélectionné, auquel cas elles seront supprimées.
=> Intégrer en fin de d'index des feuilles existantes dans ce classeurs les nouvelles à importer
=> Proposer en fin de traitement de sauver et fermer directement le classeur ayant reçu l'import de feuilles...
=>
Lien supprimé
Bonne Journée
[ol]@+Thierry[/ol]
PS pour travailler en Multi UserForms, chercher à 'Hide Unload UserForm1 UserForm2' dans les Archives, il y a eu pas mal d'explications de ma part.