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

  • Initiateur de la discussion Initiateur de la discussion farid
  • Date de début Date de début

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

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

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

  • Question Question
Microsoft 365 Classeur Disparu
Réponses
2
Affichages
449
Réponses
2
Affichages
573
Réponses
9
Affichages
361
Réponses
2
Affichages
94

Statistiques des forums

Discussions
315 289
Messages
2 118 057
Membres
113 420
dernier inscrit
Mourad Ben Ghazela