XL 2019 Exporter une feuille dans un classeur (ouvert ou fermé)

farid

XLDnaute Occasionnel
Bonjour,

Actuellement, j'ai un dossier, dans ce dossier le classeur "Source" dans lequel, j’ai intégré votre macro en modifiant la ligne cible " classeurCible = "1.xlsm". Et je copie bien la feuille source nommée "PARAM" vers le classeur 1. J'ai déjà un bout de vba qui fonctionne, mais que pour un seul classeur.

Les questions sont :

- Est-ce possible à partir du classeur source de copier la feuille uniquement "PARAM" pas seulement vers le classeur 1, mais vers tous les classeurs dans ce même dossier.

- La faisabilité de copie à partir du fichier source, ouvrir le classeur 1 coller, fermer/ ouvrir classeur 2 fermer/ et ainsi de suite.

- La faisabilité lors du collage de la feuille dans les classeurs et que si ces derniers ont déjà une feuille qui est nommée « PARAM », de pouvoir supprimer celle-ci et de le remplacer par celle du fichier source.

Par avance merci pour votre retour.
 

Pièces jointes

  • test feuille.zip
    35.7 KB · Affichages: 7
Dernière édition:
Solution
Bonjour,

Actuellement, j'ai un dossier, dans ce dossier le classeur "Source" dans lequel, j’ai intégré votre macro en modifiant la ligne cible " classeurCible = "1.xlsm". Et je copie bien la feuille source nommée "PARAM" vers le classeur 1. J'ai déjà un bout de vba qui fonctionne, mais que pour un seul classeur.

Les questions sont :

- Est-ce possible à partir du classeur source de copier la feuille uniquement "PARAM" pas seulement vers le classeur 1, mais vers tous les classeurs dans ce même dossier.

- La faisabilité de copie à partir du fichier source, ouvrir le classeur 1 coller, fermer/ ouvrir classeur 2 fermer/ et ainsi de suite.

- La faisabilité lors du collage de la feuille dans les classeurs et que si ces derniers ont...

Jacky67

XLDnaute Barbatruc
Bonjour,

Actuellement, j'ai un dossier, dans ce dossier le classeur "Source" dans lequel, j’ai intégré votre macro en modifiant la ligne cible " classeurCible = "1.xlsm". Et je copie bien la feuille source nommée "PARAM" vers le classeur 1. J'ai déjà un bout de vba qui fonctionne, mais que pour un seul classeur.

Les questions sont :

- Est-ce possible à partir du classeur source de copier la feuille uniquement "PARAM" pas seulement vers le classeur 1, mais vers tous les classeurs dans ce même dossier.

- La faisabilité de copie à partir du fichier source, ouvrir le classeur 1 coller, fermer/ ouvrir classeur 2 fermer/ et ainsi de suite.

- La faisabilité lors du collage de la feuille dans les classeurs et que si ces derniers ont déjà une feuille qui est nommée « PARAM », de pouvoir supprimer celle-ci et de le remplacer par celle du fichier source.

Par avance merci pour votre retour.
Bonjour,
Dans l'exemple les classeurs cibles sont dans le même répertoire que le classeur source
Essaye cette macro
VB:
Sub copiefeuille()
    Dim Chemin$, Fichier$
    Chemin = ThisWorkbook.Path & "\"
    Fichier = Dir(Chemin)
    Application.EnableEvents = False: Application.DisplayAlerts = False: Application.ScreenUpdating = False
    Do While Fichier <> ""
        If Fichier <> ThisWorkbook.Name Then
            Workbooks.Open Filename:=Chemin & Fichier
            If IsError(Evaluate("='" & "PARAM" & "'!A1")) Then
                ThisWorkbook.Sheets("PARAM").Copy After:=Workbooks(Fichier).Sheets(1)
            Else
                ThisWorkbook.Sheets("PARAM").Cells.Copy Workbooks(Fichier).Sheets("PARAM").[a1]
            End If
            Workbooks(Fichier).Close True
        End If
        Fichier = Dir
    Loop
    Application.EnableEvents = True
End Sub
 

Pièces jointes

  • Copie de CLASSEUR SOURCE.xlsm
    23.3 KB · Affichages: 9
Dernière édition:

farid

XLDnaute Occasionnel
Bonjour,
Dans l'exemple les classeurs cibles sont dans le même répertoire que le classeur source
Essaye cette macro
VB:
Sub copiefeuille()
    Dim Chemin$, Fichier$
    Chemin = ThisWorkbook.Path & "\"
    Fichier = Dir(Chemin)
    Application.EnableEvents = False: Application.DisplayAlerts = False: Application.ScreenUpdating = False
    Do While Fichier <> ""
        If Fichier <> ThisWorkbook.Name Then
            Workbooks.Open Filename:=Chemin & Fichier
            If IsError(Evaluate("='" & "PARAM" & "'!A1")) Then
                ThisWorkbook.Sheets("PARAM").Copy After:=Workbooks(Fichier).Sheets(1)
            Else
                ThisWorkbook.Sheets("PARAM").Cells.Copy Workbooks(Fichier).Sheets("PARAM").[a1]
            End If
            Workbooks(Fichier).Close True
        End If
        Fichier = Dir
    Loop
    Application.EnableEvents = True
End Sub
Bonjour Jacky
j'espère que tu vas bien.
Je te remercie pour ton retour et la solution qui fonctionne parfaitement .
Bien à toi
Farid
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG