bonjour,
j'ai une macro qui me permet d'ouvrir un fichier et de copier/coller des feuilles entières mais sans pouvoir choisir les feuilles.
je souhaiterais y intégrer une message-box (ou input-box) entre l'ouverture de fichier2 et la copie des feuilles.
il faudrait la possibilités de taper "S--,S--,S--,S--" (si je veux un mois complet) ou "S--,S--" (si je veux que 2 semaines) ou tout autre choix.
les feuilles ainsi célectionnées seront collées dans mon classeur (fichier1).
ci-joint la macro :
Sub ChoixFichier()
'Affiche la boîte de dialogue "Ouvrir"
ChDir ThisWorkbook.Path
FichierSelect = Application.GetOpenFilename("Tous les fichiers (*.xlsx),*.xlsx", Title:=" ", MultiSelect:=False)
'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
If FichierSelect = False Then Exit Sub
'Affiche ICI la MsgBox .
'MsgBox FichierSelect ' choix des semaines
selectonglet
End Sub
Sub selectonglet()
Dim Fichier1 As String
Dim Fichier2 As String
Fichier1 = ActiveWorkbook.Name 'pilote
Workbooks.Open FichierSelect, 0, ReadOnly:=False
Fichier2 = ActiveWorkbook.Name ' fichier de données saisies
Workbooks(Fichier2).Sheets(1).Copy after:=Workbooks(Fichier1).Sheets(2) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 3eme position
Workbooks(Fichier2).Sheets(2).Copy after:=Workbooks(Fichier1).Sheets(3) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 4eme position
Workbooks(Fichier2).Sheets(3).Copy after:=Workbooks(Fichier1).Sheets(4) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 5eme position
Workbooks(Fichier2).Sheets(4).Copy after:=Workbooks(Fichier1).Sheets(5) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 6eme position
Workbooks(Fichier2).Sheets(5).Copy after:=Workbooks(Fichier1).Sheets(6) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 7eme position
Workbooks(Fichier2).Close
Fichier1 = ActiveWorkbook.Name 'pilote
Sheets(2).Select
Range("A6").Select
End Sub
j'ai une macro qui me permet d'ouvrir un fichier et de copier/coller des feuilles entières mais sans pouvoir choisir les feuilles.
je souhaiterais y intégrer une message-box (ou input-box) entre l'ouverture de fichier2 et la copie des feuilles.
il faudrait la possibilités de taper "S--,S--,S--,S--" (si je veux un mois complet) ou "S--,S--" (si je veux que 2 semaines) ou tout autre choix.
les feuilles ainsi célectionnées seront collées dans mon classeur (fichier1).
ci-joint la macro :
Sub ChoixFichier()
'Affiche la boîte de dialogue "Ouvrir"
ChDir ThisWorkbook.Path
FichierSelect = Application.GetOpenFilename("Tous les fichiers (*.xlsx),*.xlsx", Title:=" ", MultiSelect:=False)
'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
If FichierSelect = False Then Exit Sub
'Affiche ICI la MsgBox .
'MsgBox FichierSelect ' choix des semaines
selectonglet
End Sub
Sub selectonglet()
Dim Fichier1 As String
Dim Fichier2 As String
Fichier1 = ActiveWorkbook.Name 'pilote
Workbooks.Open FichierSelect, 0, ReadOnly:=False
Fichier2 = ActiveWorkbook.Name ' fichier de données saisies
Workbooks(Fichier2).Sheets(1).Copy after:=Workbooks(Fichier1).Sheets(2) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 3eme position
Workbooks(Fichier2).Sheets(2).Copy after:=Workbooks(Fichier1).Sheets(3) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 4eme position
Workbooks(Fichier2).Sheets(3).Copy after:=Workbooks(Fichier1).Sheets(4) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 5eme position
Workbooks(Fichier2).Sheets(4).Copy after:=Workbooks(Fichier1).Sheets(5) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 6eme position
Workbooks(Fichier2).Sheets(5).Copy after:=Workbooks(Fichier1).Sheets(6) ' copie du 1er onglet du fichier selectionné dans le fichier RECAP en 7eme position
Workbooks(Fichier2).Close
Fichier1 = ActiveWorkbook.Name 'pilote
Sheets(2).Select
Range("A6").Select
End Sub