Comment détacher des onglets en plusieurs fichiers

Résolu
Nonnoo Messages postés 29 Statut Membre -  
Nonnoo Messages postés 29 Statut Membre -
Bonjour,

J'ai un fichier excel avec plusieurs onglets nommés 01;02;03... et un onglet global qui récupère les chiffres de chaque onglet.
Chaque onglet est destiné à une personne différente qui est censé le remplir chaque semaine.

Je souhaiterai, dans un premier temps, une macro qui puisse me détacher chaque onglet pour que chaque personne ait son propre fichier sans regarder celui des autres. Une sorte de découpage de fichier.

Et dans un deuxième temps, une deuxième macro qui rassemblerait tout ces fichiers (qui auront été au préalable rempli), et qui viendrait coller les fichiers les uns à la suite des autres dans des onglets, tout en suivant leur ordre, 01;02;03... pour que mon onglet global puisse calculer le montant total. Un recollage des onglets dans un même fichier.

Pensez-vous que c'est possible ?
Merci d'avance pour votre aide.

Nono

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pensez-vous que c'est possible ?

    Oui.


    dans un premier temps, une macro qui puisse me détacher chaque onglet

    Utilises ton enregistreur de macro.
    Effectue à la main, un clic-doit sur un onglet, puis selectionne déplacer ou copier , choisi : "nouveau classeur" ... et le tour est joué.
    A partir de ce code, tu n'as plus qu'à le mettre dans une BOUCLE sur tes différents ONGLETS pour réaliser ce que tu souhaites.


    dans un deuxième temps, une deuxième macro qui rassemblerait tout ces fichiers

    Là il te faut une boucle qui va chercher les classeurs ( via la méthode Workbooks.Open ), puis récupère l'onglet de chaque classeur pour venir le mettre dans ton classeur principale (tu peux utiliser la même méthode que pour le cas N°1 )

    1
    1. Nonnoo Messages postés 29 Statut Membre
       
      Merci beaucoup Jordane,
      J'ai suivi ton conseil j'ai réussi à m'en sortir pour diviser mon fichier en créant :
      - un dossier nommé "Fichiers à découper " où j'ai mis mon fichier excel à découper
      - un dossier "Fichiers SX" où je voudrais que mes fichiers divisés soient.

      Sur un autre fichier excel j'ai créer ma macro découpage avec un bouton, voici le code :

      Sub Découpage()

      ' Découpage Macro

      Dim FichierMacro
      Dim FichierCible
      Dim Chemin As String
      Dim FichierSource As String

      Application.ScreenUpdating = False

      Chemin = ActiveWorkbook.Path
      FichierMacro = ActiveWorkbook.Name

      FichierSource = Dir(Chemin & "\Fichiers à découper\*.xls")


      Workbooks.Open (Chemin & "\Fichiers à découper\" & FichierSource), UpdateLinks:=False
      Workbooks(FichierMacro).Activate

      Workbooks(FichierSource).Activate
      Sheets("GLOBAL").Select
      Application.DisplayAlerts = False
      ChDir ActiveWorkbook.Path
      For Each s In ActiveWorkbook.Sheets
      s.Copy
      ActiveWorkbook.SaveAs Filename:=s.Name
      ActiveWorkbook.Close
      Next s


      'enregistre le fichier sous
      ActiveWorkbook.CheckCompatibility = False
      ActiveWorkbook.SaveAs Filename:= _
      Chemin & "\Fichiers SX\" & "" _
      , FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
      ReadOnlyRecommended:=False, CreateBackup:=False

      FichierCible = ActiveWorkbook.Name


      End Sub


      Cependant avec ce code, mes fichiers découpés ne vont pas dans le dossier "Fichiers SX" comme je le voudrai mais vont dans le dossier "Fichiers à découper".

      Je ne sais pas ce qui cloche... Auriez-vous une idée ?

      Merci par avance.

      Nono
      0