Bonjour à tous,
J'ai besoin de votre aide svp!
Je voudrai une macro qui pourra me supprimer la dernière colonne colonne de chaque tableau crée.
Cette dernière colonne est le "Total général".
Je m'explique : la boucle pourra parcourir toute la première ligne de mon tableau et quand il rencontre "Total général" qui sera la dernière colonne du tableau et donc de supprimer toute la colonne.
----------------
Je joins un code qui me génère les onglets, et il y a un onglet "exemple de ce que je voudrai obtenir.
La cellule "A2" portera le nom de l'onglet.
Merci à vous tous.
Sub Dispatch()
Application.ScreenUpdating = False
Dim myRange As Range, mySheet As Worksheet, mySN As String, myH As Range
Sheets("TCD").Select
Set mySheet = ActiveSheet
Set myH = Range(Range("A4"), Cells(4, Columns.Count).End(xlToLeft))
'myH.Select
Range("A5").Select
Set myRange = ActiveCell
mySN = ActiveCell
Do Until ActiveCell = "Total général"
If Not ActiveCell.Offset(1, 0) Like "**/**/****" Then
Range(myRange, ActiveCell).Rows.EntireRow.Copy
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = mySN
Range("A2").PasteSpecial
myH.Copy
Range("A1").PasteSpecial
Application.CutCopyMode = False
Columns("A:H").EntireColumn.AutoFit
For a = myH.Cells.Count To 2 Step -1
If Cells(Rows.Count, a).End(xlUp).Row = 1 Then
Cells(Rows.Count, a).Columns.EntireColumn.Delete
End If
Next a
Range("2:2").Copy
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
Selection.Font.Bold = True
Range("2:2").Delete
mySheet.Activate
Set myRange = ActiveCell.Offset(1, 0)
mySN = ActiveCell.Offset(1, 0)
End If
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
End Sub