Exportation conditionnelle
Bonjour à tous,
j'ai un code qui permet d'exporter tout les onglets du classeur sauf la feuille RECAP,
je cherche à rectifier le code pour vider pendant l'exportation toutes les donnes qui sont entre les colonne B et M, et ne garder que les données du mois concerné qui correspond à K1 de la feuille RECAP.
Exemple:
1-pour la feuille DT le code exportera toute les données sauf les données des colonnes E & G en gardant celles de J puisque K1 de la feuille recap correspond au même mois de la colonne J
2-pour la feuille DP le code exportera toute les données sauf les données des colonnes H & L en gardant celles de J puisque K1 de la feuille recap correspond au même mois de la colonne J
Merci d'avance
Slt an@s,
tu veux deux macros différentes?
je cherche à rectifier le code pour vider pendant l'exportation toutes les donnes qui sont entre les colonne B et M, et ne garder que les données du mois concerné qui correspond à K1 de la feuille RECAP.
Exemple:
1-pour la feuille DT le code exportera toute les données sauf les données des colonnes E & G en gardant celles de J puisque K1 de la feuille recap correspond au même mois de la colonne J
Ce code réalise la première, à tester
Sub Exporter()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xChemin = ThisWorkbook.Path
mois = Format(Worksheets("RECAP").Cells(1, 11).Value, "MMMM") ' il faut faire attention au Format
For Each xOnglet In ActiveWorkbook.Sheets
If xOnglet.Name <> "RECAP" Then
Sheets(xOnglet.Name).Copy
ActiveWorkbook.SaveAs Filename:=xChemin & "\" & xOnglet.Name & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
With Worksheets(xOnglet.Name)
dl = Cells(Rows.Count, 1).End(xlUp).Rows.Row
For c = 2 To 13
If Cells(2, c).Value <> mois Then
Range(.Cells(3, c), .Cells(dl, c)).ClearContents
End If
Next c
End With
End If
Next xOnglet
Application.ScreenUpdating = True
'MsgBox "TERMINE", vbInformation, "TRANSFERT"
End SubBonjour m3ellem1, le forum
merci pour votre réponse mais votre code après l'exportation garde toujours les données entre les colonnes B & M
Re,
Sub Exporter()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xChemin = ThisWorkbook.Path
mois = Format(Worksheets("RECAP").Cells(1, 11).Value, "MMMM") ' il faut faire attention au Format
For Each xOnglet In ActiveWorkbook.Sheets
If xOnglet.Name <> "RECAP" Then
Sheets(xOnglet.Name).Copy
ActiveWorkbook.SaveAs Filename:=xChemin & "\" & xOnglet.Name & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
With Worksheets(xOnglet.Name)
dl = Cells(Rows.Count, 1).End(xlUp).Rows.Row
For c = 2 To 13
If Cells(2, c).Value <> mois Then
.Range(.Cells(3, c), .Cells(dl, c)).ClearContents
End If
Next c
End With
ActiveWindow.Close SaveChanges:=True
End If
Next xOnglet
Application.ScreenUpdating = True
'MsgBox "TERMINE", vbInformation, "TRANSFERT"
End Sub