IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fragmentation d'un fichier en plusieurs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 1
    Par défaut Fragmentation d'un fichier en plusieurs
    Bonjour,

    Débutant en macro, j'ai le problème suivant. J'ai 6 fichiers d'env. 100 onglets chacun. Chaque onglet/feuille représente la fiche d'un collaborateur. Je désire faire un fichier par feuille et que ce fichier s'enregistre et se renomme automatiquement avec le nom de la feuille par une macro.

    De plus, un fichier index reprendra les informations des cellules a1 et a2 des 600 feuilles. Faisable et sûr???

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Public Sub enregistre()
     
    Dim repertoire As String
    repertoire = "C:\temp\"
     
    Set F1 = ActiveWorkbook
    For i = 1 To F1.Worksheets.Count
     
        F1.Activate
        nom = Worksheets(i).Name
        F1.Worksheets(i).Cells.Copy
        Workbooks.Add
        ActiveSheet.Paste
        ActiveSheet.Name = nom
        ActiveWorkbook.SaveAs Filename:=repertoire & nom & ".xls", _
            FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
        ActiveWorkbook.Close
    Next i
     
    End Sub

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Copier la feuille au lieu de copier le contenu de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Option Explicit
    Public Sub Scinde()
    Dim awbk As Workbook, wbk As Workbook, arwbk As Workbook
    Dim ws As Worksheet
    Dim Repert As String, FichArch As String
     
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set awbk = ThisWorkbook
       Repert = awbk.Path & "\"
       FichArch = Repert & "Archives.xls"     'Créer un fichier dans le même dossier nommé Archives
       Set arwbk = Workbooks.Open(FichArch)
          For Each ws In awbk.Worksheets
             Set wbk = Workbooks.Add(1)
                ws.Copy before:=wbk.Sheets(1)
                wbk.Sheets(2).Delete
                wbk.SaveAs Repert & ws.Name & ".xls"
                wbk.Close
             Set wbk = Nothing
             With arwbk.Sheets(1)
                newlig = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                .Range("A" & newlig) = ws.Name
                .Range("B" & newlig & ":C" & newlig).Value = Application.Transpose(ws.Range("A1:A2").Value)
             End With
          Next ws
          arwbk.Save
          arwbk.Close
       Set arwbk = Nothing
    Set awbk = Nothing
    Application.DisplayAlerts = False
    End Sub

Discussions similaires

  1. Réponses: 12
    Dernier message: 13/01/2006, 10h14
  2. Imprimer automatiquement fichiers de plusieurs formats
    Par lutin511 dans le forum Windows
    Réponses: 5
    Dernier message: 07/12/2005, 18h38
  3. Lister les fichiers de plusieurs sous-répertoire ?
    Par ratbiker dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 25/11/2005, 21h20
  4. [XSLT] - Trier un fichier sur plusieurs critères
    Par ytse dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2005, 16h26
  5. utiliser le même fichier dans plusieurs projets vc++6
    Par yannick_sch dans le forum MFC
    Réponses: 5
    Dernier message: 12/02/2004, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo