'Filtre avancé qui séléctionne les éléments cochés dans la feuille Choix matériaux et les copie dans la feuille Mise en préparation
Columns("AH:AM").Hidden = False
Sheets("Choix_materiaux").Activate
' la ligne suivante a une erreur 9
Sheets("Choix_materiaux").Range("B22:G100").AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Sheets("Mise_en_preparation").Range("AJ2:AO3"), CopyToRange:=Sheets("Mise_en_preparation").Range("B2:E2"), Unique:=False
Sheets("Mise_en_preparation").Activate
' Cacher la zone de critères
Columns("AH:AM").Hidden = True
' Afficher ou masquer des cases à cocher
Dim cellule As Range
For Each cellule In Range("B3:B54")
'Lorsque la valeur 0 est détecté dans la colonne B, le contenu de la cellule est effacé pour faire disparaitre la case à cocher
If cellule.Value = "0" Then cellule.ClearContents
'Lorsque la valeur est différente de 0 dans la colonne B, une case à cocher apparaît dans la colonne nommée "CHOIX"
If cellule.Value <> "0" Then
With ActiveSheet.Shapes("Check Box" & cellule.Row)
.DrawingObject.Value = False
.Visible = cellule <> ""
End With
End If
Next