Bonjour,
Je recherche une aide concernant la possibilité d'effacer les contenu de plusieurs cellules en fonction d'un critère.
J'ai un tableau calendrier avec pour chaque mois une colonne dont est renseigné les RTT, CP, ...
Par exemple dans les colonnes E5 a E35, et K5 a K33 et Q5 a Q35 je souhaite supprimer les "RTT" si je clique sur un bouton "effacer RTT" sans effacer les "CP"
J'ai fais une recherche mais je ne parviens pas a trouver une solution a mon problème. j'ai trouvé ce code et j'ai essayé de l'adapter mais cela ne fonctionne pas
Merci pour votre aide.
Sub Efface_CP()
Dim cc As Byte 'déclare la variable cc (Colonne Concours)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
With Sheets("Calendrier") 'prend en compte l'onglet "Calendrier"
For cc = 5 To 78 Step 6 'boucle 1 : sur les colonnes 5 à 78 par pas de 6
dl = .Cells(Application.Rows.Count, cc).End(xlUp).Row 'définit la dernière ligne éditiée dl de la colonne cc
Set pl = .Range(.Cells(1, cc), .Cells(dl, cc)) 'définit la plage pl
For Each cel In pl 'boucle 2 : sur toutes les cellules cel de la plage pl
'si la valeur de la cellule est égale à "CP", efface le contenu de la plage correspondante
If cel.Value = "CP" Then
'cel.Offset(0, -3).Resize(1, 3).Interior.ColorIndex = 3
cel.Offset(1, 1).Resize(1, 1).ClearContents
End If
Next cel 'prochaine cellule de la boucle 2
Next cc 'prochaine colonne de la boucle 1
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
Je recherche une aide concernant la possibilité d'effacer les contenu de plusieurs cellules en fonction d'un critère.
J'ai un tableau calendrier avec pour chaque mois une colonne dont est renseigné les RTT, CP, ...
Par exemple dans les colonnes E5 a E35, et K5 a K33 et Q5 a Q35 je souhaite supprimer les "RTT" si je clique sur un bouton "effacer RTT" sans effacer les "CP"
J'ai fais une recherche mais je ne parviens pas a trouver une solution a mon problème. j'ai trouvé ce code et j'ai essayé de l'adapter mais cela ne fonctionne pas
Merci pour votre aide.
Sub Efface_CP()
Dim cc As Byte 'déclare la variable cc (Colonne Concours)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
With Sheets("Calendrier") 'prend en compte l'onglet "Calendrier"
For cc = 5 To 78 Step 6 'boucle 1 : sur les colonnes 5 à 78 par pas de 6
dl = .Cells(Application.Rows.Count, cc).End(xlUp).Row 'définit la dernière ligne éditiée dl de la colonne cc
Set pl = .Range(.Cells(1, cc), .Cells(dl, cc)) 'définit la plage pl
For Each cel In pl 'boucle 2 : sur toutes les cellules cel de la plage pl
'si la valeur de la cellule est égale à "CP", efface le contenu de la plage correspondante
If cel.Value = "CP" Then
'cel.Offset(0, -3).Resize(1, 3).Interior.ColorIndex = 3
cel.Offset(1, 1).Resize(1, 1).ClearContents
End If
Next cel 'prochaine cellule de la boucle 2
Next cc 'prochaine colonne de la boucle 1
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
Dernière édition: