Macro un fichier excel par onglet et rangement dans 1 dossier
Résolu
netabisse
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
dream22 -
dream22 -
Bonjour,
Voilà mon "problème".
J'ai un classeur Excel avec plusieurs onglets.
J'ai déjà trouvé sur le forum comment créer un fichier excel par onglet avec une macro.
Par contre, je ne parviens pas à retrouver ces fichiers excel, je souhaiterais qu'ils se rangent automatiquement dans un dossier existant dans "mes documents".
Sauriez-vous m'aider pour créer le code complémentaire à ma macro pour cela.
Idéalement, si je peux en même temps supprimer les quadrillages et les feuilles vides, ça serait top.
Voici le code que j'ai déjà.
Sub saveOnglet()
Dim ws
Dim newWk As Workbook
For Each ws In Worksheets
Set newWk = Workbooks.Add(xlWBATWorksheet)
ws.Copy newWk.Sheets(1)
newWk.SaveAs (ws.Name & ".xls")
newWk.Close
Set newWk = Nothing
Next ws
End Sub
Par avance je vous remercie de votre aide précieuse.
Bonne journée
Voilà mon "problème".
J'ai un classeur Excel avec plusieurs onglets.
J'ai déjà trouvé sur le forum comment créer un fichier excel par onglet avec une macro.
Par contre, je ne parviens pas à retrouver ces fichiers excel, je souhaiterais qu'ils se rangent automatiquement dans un dossier existant dans "mes documents".
Sauriez-vous m'aider pour créer le code complémentaire à ma macro pour cela.
Idéalement, si je peux en même temps supprimer les quadrillages et les feuilles vides, ça serait top.
Voici le code que j'ai déjà.
Sub saveOnglet()
Dim ws
Dim newWk As Workbook
For Each ws In Worksheets
Set newWk = Workbooks.Add(xlWBATWorksheet)
ws.Copy newWk.Sheets(1)
newWk.SaveAs (ws.Name & ".xls")
newWk.Close
Set newWk = Nothing
Next ws
End Sub
Par avance je vous remercie de votre aide précieuse.
Bonne journée
A voir également:
- Xlwbatworksheet
- Fichier bin - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Word et excel gratuit - Guide
4 réponses
Bonjour,
2 choix :
1- tu connais le chemin d'accès à ce répertoire et ce dernier ne changera jamais :
2- tu souhaites laisser le choix à l'utilisateur :
2 choix :
1- tu connais le chemin d'accès à ce répertoire et ce dernier ne changera jamais :
Dim ws Dim newWk As Workbook Dim Chemin As String Chemin = "C:\Pijaku\Ne_fait_rien_de_ses_journées\CCM\" For Each ws In Worksheets Set newWk = Workbooks.Add(xlWBATWorksheet) ws.Copy newWk.Sheets(1) newWk.SaveAs (Chemin & ws.Name & ".xls") newWk.Close Set newWk = Nothing Next ws
2- tu souhaites laisser le choix à l'utilisateur :
Dim ws Dim newWk As Workbook Dim objShell As Object, objFolder As Object Dim Chemin As String Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&) If objFolder Is Nothing Then MsgBox "Abandon opérateur", vbCritical, "Annulation" Else Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\" End If If Chemin <> "" Then For Each ws In Worksheets Set newWk = Workbooks.Add(xlWBATWorksheet) ws.Copy newWk.Sheets(1) newWk.SaveAs (Chemin & ws.Name & ".xls") newWk.Close Set newWk = Nothing Next ws End If
Bonjour!
Génial!!
ça marche trop bien.
J'ai même pu ajouter les codes pour supprimer la feuille "feuil1' qui se créé automatiquement et le code pour enlever le quadrillage, le tout dans la même macro.
Merci beaucoup!
C'est magique!
Bonne journée
Génial!!
ça marche trop bien.
J'ai même pu ajouter les codes pour supprimer la feuille "feuil1' qui se créé automatiquement et le code pour enlever le quadrillage, le tout dans la même macro.
Merci beaucoup!
C'est magique!
Bonne journée
Bonjour,
ce bout de code marche super bien, par contre existe-t-il un moyen de ne copier seulement que les valeurs des cellules du fichier source à la place des formules?
Merci d'avance.
ce bout de code marche super bien, par contre existe-t-il un moyen de ne copier seulement que les valeurs des cellules du fichier source à la place des formules?
Merci d'avance.
Bonjour,
Pour cela, il faut "ruser" un peu.
1- créer une nouvelle feuille,
2- Copier les cellules contenues dans la feuille que vous souhaitez copier,
3- collage spécial valeur dans la nouvelle feuille
4- Exécuter la macro ci-dessus avec la nouvelle feuille
5- recommencer autant de fois que de feuilles,
6- supprimer la nouvelle feuille
Pour cela, il faut "ruser" un peu.
1- créer une nouvelle feuille,
2- Copier les cellules contenues dans la feuille que vous souhaitez copier,
3- collage spécial valeur dans la nouvelle feuille
4- Exécuter la macro ci-dessus avec la nouvelle feuille
5- recommencer autant de fois que de feuilles,
6- supprimer la nouvelle feuille
Bonjour,
Serait-il possible de ranger les différents onglets dans différents dossiers?
J'ai fait une macro excel qui permet d'abord de convertir chaque onglet excel sous format txt. J'arrive à ranger tous les fichiers txt dans un dossier spécifique, mais j'aimerai pouvoir ranger l'onglet 1 dans le dossier 1, l'onglet 2 dans le dossier 2, etc..
Je vous remercie par avance!
Serait-il possible de ranger les différents onglets dans différents dossiers?
J'ai fait une macro excel qui permet d'abord de convertir chaque onglet excel sous format txt. J'arrive à ranger tous les fichiers txt dans un dossier spécifique, mais j'aimerai pouvoir ranger l'onglet 1 dans le dossier 1, l'onglet 2 dans le dossier 2, etc..
Je vous remercie par avance!