Bonjour
J'ai fait une macro de débutante, qui fonctionne, mais je pense qu'elle pourrais être simplifié et que l'exécution serait moins longue. Etant donné mais connaissance très restreint à ce niveau est-ce qu'il y aurait quelqu'un qui pourrais m'aider à la simplifié?
Voici la macro :
Sub imprimep1()
Range("a1:ac2107").Select
ActiveSheet.Unprotect "yl"
Columns("c:h").Select
Selection.EntireColumn.Hidden = True
Columns("q:ab").Select
Selection.EntireColumn.Hidden = True
Columns("ad:ad").Select
Selection.EntireColumn.Hidden = True
Dim cel As Range
For Each cel In Range("ac9:ac2107")
If cel = "0" Then
cel.EntireRow.Hidden = True
End If
If cel = "Plan 2" Then
cel.EntireRow.Hidden = True
End If
If cel = "Plan 3" Then
cel.EntireRow.Hidden = True
End If
If cel = "Plan 4" Then
cel.EntireRow.Hidden = True
End If
If cel = "Plan 5" Then
cel.EntireRow.Hidden = True
End If
If cel = "Plan 6" Then
cel.EntireRow.Hidden = True
End If
If cel = "Bureau" Then
cel.EntireRow.Hidden = True
End If
If cel = "Garage" Then
cel.EntireRow.Hidden = True
End If
If cel = "Autres" Then
cel.EntireRow.Hidden = True
End If
Next
ActiveSheet.PrintPreview
Columns("c:h").Select
Selection.EntireColumn.Hidden = False
Selection.EntireColumn.Hidden = False
Columns("q:ab").Select
Selection.EntireColumn.Hidden = False
Columns("ad:Ad").Select
Selection.EntireColumn.Hidden = False
For Each cel In Range("ac9:ac2107")
If cel = "0" Then
cel.EntireRow.Hidden = False
End If
If cel = "Plan 2" Then
cel.EntireRow.Hidden = False
End If
If cel = "Plan 3" Then
cel.EntireRow.Hidden = False
End If
If cel = "Plan 4" Then
cel.EntireRow.Hidden = False
End If
If cel = "Plan 5" Then
cel.EntireRow.Hidden = False
End If
If cel = "Plan 6" Then
cel.EntireRow.Hidden = False
End If
If cel = "Bureau" Then
cel.EntireRow.Hidden = False
End If
If cel = "Garage" Then
cel.EntireRow.Hidden = False
End If
If cel = "Autres" Then
cel.EntireRow.Hidden = False
End If
ActiveSheet.Protect "yl", True, True, True
Next
End Sub
Merci beaucoup