Autres Création classeurs de 3 feuilles avec une information à reporter.

  • Initiateur de la discussion Initiateur de la discussion dhyeres
  • Date de début Date de début
  • Mots-clés Mots-clés
    vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dhyeres

XLDnaute Nouveau
Bonjour,
J'ai une macro qui me reproduit un classeur de 3 feuilles selon une liste comportant 2 colonnes.
Je n'arrive pas à trouver comment reporter au moment de la création l'information de la colonne B de ma liste dans la feuille "Compte comité 2023" en "E2" de façon à ce que chaque nouveau classeur comporte l'information individuelle qui est au regard du nom du classeur sur la feuille liste.
Merci pour votre aide
Cordialement,
 

Pièces jointes

Solution
Bonjour dhyeres, Jacky67,

Ou directement dans la feuille créée :
VB:
Sub CréerLesFichiers()
    Dim f As Worksheet, i&, nomf$
    Set f = Sheets("Liste")
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For i = 1 To f.Range("A" & f.Rows.Count).End(xlUp).Row
        nomf = f.Range("A" & i)
        Sheets(Array("Comptes comité 2023", "Codification 2023", "Répartition des postes")).Copy
        With ActiveWorkbook
            .Sheets("Comptes comité 2023").Range("E2") = f.Range("B" & i)
            .SaveAs ThisWorkbook.Path & "\" & nomf & ".xlsx"
            .Close
        End With
    Next i
End Sub
A+
Bonjour,
J'ai une macro qui me reproduit un classeur de 3 feuilles selon une liste comportant 2 colonnes.
Je n'arrive pas à trouver comment reporter au moment de la création l'information de la colonne B de ma liste dans la feuille "Compte comité 2023" en "E2" de façon à ce que chaque nouveau classeur comporte l'information individuelle qui est au regard du nom du classeur sur la feuille liste.
Merci pour votre aide
Cordialement,
Bonjour,
Quelque chose comme ceci peut-être
VB:
Sub CréerLesFichiers()
    Dim i&, nomf$
    Application.ScreenUpdating = False
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        nomf = Range("A" & i)
        Feuil4.[e2] = Range("b" & i)
        Sheets(Array("Comptes comité 2023", "Codification 2023", "Répartition des postes")).Copy
        Application.DisplayAlerts = False
        With ActiveWorkbook
            .SaveAs ThisWorkbook.Path & "\" & nomf & ".xlsx"
            .Close
        End With
    Next i
    Feuil4.[e2] = ""
End Sub
 
Dernière édition:
Bonjour dhyeres, Jacky67,

Ou directement dans la feuille créée :
VB:
Sub CréerLesFichiers()
    Dim f As Worksheet, i&, nomf$
    Set f = Sheets("Liste")
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For i = 1 To f.Range("A" & f.Rows.Count).End(xlUp).Row
        nomf = f.Range("A" & i)
        Sheets(Array("Comptes comité 2023", "Codification 2023", "Répartition des postes")).Copy
        With ActiveWorkbook
            .Sheets("Comptes comité 2023").Range("E2") = f.Range("B" & i)
            .SaveAs ThisWorkbook.Path & "\" & nomf & ".xlsx"
            .Close
        End With
    Next i
End Sub
A+
 
Bonjour dhyeres, Jacky67,

Ou directement dans la feuille créée :
VB:
Sub CréerLesFichiers()
    Dim f As Worksheet, i&, nomf$
    Set f = Sheets("Liste")
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For i = 1 To f.Range("A" & f.Rows.Count).End(xlUp).Row
        nomf = f.Range("A" & i)
        Sheets(Array("Comptes comité 2023", "Codification 2023", "Répartition des postes")).Copy
        With ActiveWorkbook
            .Sheets("Comptes comité 2023").Range("E2") = f.Range("B" & i)
            .SaveAs ThisWorkbook.Path & "\" & nomf & ".xlsx"
            .Close
        End With
    Next i
End Sub
A+
Bonjour et merci beaucoup pour cette solution. Entre temps j'avais trouvé la suivante pour une liste à 4 colonnes. Je me compliquais la vie.

VB:
Option Explicit

Sub CréerLesFichiers()
    Dim f As Worksheet, i&, nomf$, value_$, avoir_$, compl_$
    Set f = Sheets("Comptes comité 2023")
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        nomf = Range("A" & i)
        value_ = Range("B" & i)
        avoir_ = Range("C" & i)
        compl_ = Range("D" & i)
        Sheets(Array("Comptes comité 2023", "Codification 2023", "Répartition des postes")).Copy
        With ActiveWorkbook
            .Sheets(1).Range("D1").Value = value_
            .Sheets(1).Range("G5").Avoir = avoir_
            .Sheets(1).Range("G6").Compl = compl_
            .SaveAs ThisWorkbook.Path & "\" & nomf & ".xlsx"
            .Close
        End With
    Next i
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour