Copier des feuilles dans un autre classeur

mouloud -  
WhiteFang Messages postés 2063 Statut Membre -
salut
Je cherche comment copier toutes les feuilles (visibles uniquement) d'un classeur Excel dans un autre classeur Excel.

voici le code que j'ai trouvé, mais ça plante au niveau du

Sheets(FeuilleExportation).Copy after:=Workbooks("GestControlChefDEP").Sheets

Private Sub cmdExporter_Click()
'exporte les feuilles dans un autre document Excel

'ouverture d'un autre document Excel
Workbooks.Open FileName:= _
"C:\Mise en production protected\GestControlChefDEP.xlt"

'sélectionne le classeur du departement en contrôle
Workbooks("Ccgi - Beta.xls").Activate
'désactive la protection du classeur
ActiveWorkbook.Unprotect Password:="y25p918"

For Each FeuilleExportation In Worksheets

If FeuilleExportation.Visible = True Then

Sheets(FeuilleExportation).Copy after:=Workbooks("GestControlChefDEP").Sheets

End If
Next
End Sub

quelqu'un pourrait m'aider ?
merci

et non à la guerre...

3 réponses

  1. bmgg4 Messages postés 189 Date d'inscription   Statut Membre 23
     
    Bonjour,

    Essaie avec une instruction comme celle-ci

    Sheets("Liste").Copy After:=Workbooks("Classeur2.xls").Sheets("Total")

    Monique
    Elle est pas belle la vie ?
    0
  2. mouloud
     
    Désolé, mais ca ne marche pas...
    0
  3. WhiteFang Messages postés 2063 Statut Membre 204
     
    ;-)

    Private Sub cmdExporter_Click()
    '--Déclaration des variables
    Dim LeClasseur, ClasseurActif, ExportDansClasseur, F
    '--Nom du classeur qui va recevoir les feuilles
    LeClasseur = Application.GetOpenFilename
    '--Test du retour de la boîte
    If UCase(LeClasseur) = "FAUX" Then Exit Sub
    '--Affectation de l'objet
    Set ClasseurActif = Workbooks(ActiveWorkbook.Name)
    '--Ouverture du classeur receveur
    Workbooks.Open Reponse
    '--Affectation de l'objet
    Set ExportDansClasseur = Workbooks(ActiveWorkbook.Name)
    '--Copie des feuilles
    For Each F In ClasseurActif.Sheets
    If F.Visible = True Then Sheets(F.Name).Copy Before:=ExportDansClasseur.Sheets(1)
    Next
    End Sub

    ;-)

    Ca devrait rouler !! ;-)

    Wild and Free
    0
    1. WhiteFang Messages postés 2063 Statut Membre 204
       
      ;-)

      Pardon, je viens de me relire !!

      Il faut écrire :

      For Each F In ClasseurActif.Sheets
      If F.Visible = True Then ClasseurActif.Sheets(F.Name).Copy Before:=ExportDansClasseur.Sheets(1)
      Next

      ;-)

      Wild and Free
      0
    2. WhiteFang Messages postés 2063 Statut Membre 204
       
      Rhaaa, j'écris trop vite !! Je viens de voir une autre erreur !!

      => Workbooks.Open LeClasseur

      !! Rhaa le boulet, luiii !! ;-)

      Wild and Free
      0