Supprimer cellules contenant mot spécifique

Hello !

Question sans doute toute simple à résoudre :

J'ai un tableau dont la première ligne (range A2:L2) contient des dates sous la forme "dimanche 1 janvier 2017"

Je souhaite supprimer les cellules de cette ligne contenant le mot "samedi" ou "dimanche", mais mon code semble inefficace.

Sub MAJ_Calendrier()
Dim c As Range

'With Range("A2:L2")
For Each c In Range("A2:L2")
    If c Like "dimanche" Or c Like "samedi" Then Cells.Delete
Next
'End With
End Sub

Pas de message d'erreur mais aucun résultat (je suis bien sur la bonne feuille).

Merci d'avance !

Bonjour Kit, bonjour le forum,

Même si la cellule t'affiche le jour de la semaine, sa vraie valeur est seulement la date. L'affichage est dû au format de date utilisé. De plus, quand tu Delete une cellule tu dois spécifier ce que se passe après. Est-ce que c'est la cellule à sa gauche qui prend sa place ou celle en dessous... Je pense que tu veux juste effacer son contenu. Essaie comme ça :

Sub MAJ_Calendrier()
Dim c As Range

For Each c In Range("A2:L2")
    If Format(Weekday(c), "dddd") = "dimanche" Or Format(Weekday(c), "dddd") = "samedi" Then c.ClearContents
Next
End Sub

Suis-je bête, les dates ne sont évidemment pas des valeurs texte.

Par contre je souhaite supprimer la cellule (remontée de la colonne vers le haut). Du coup je prpose la modification suivante :

Sub MAJ_Calendrier()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range("A2:L2")
    If Format(Weekday(c), "dddd") = "dimanche" Or Format(Weekday(c), "dddd") = "samedi" Then c.Delete Shift:=xlUp 
Next
Application.ScreenUpdating = True
End Sub
 

Ça marche (le Application.ScreenUpdating = False est là pour accélérer l’exécution du code).

Merci pour le coup de main

Rechercher des sujets similaires à "supprimer contenant mot specifique"