Supprimer les cellules contenant des dates

uly2562 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   -
e
Bonjours a tous,
alors voila:
Je cherche de l'aide en programmation VBA, a propos d'un code qui me permettrai de supprimer toute les cellules contenant uniquement des dates.
J'ai donc fais ce code, mais il me supprime le texte, ainsi que des nombre. En fait il me supprime tout se qu'il y a dans la plage. Je vous laisse le code, et merci de me répondre assez rapidement, car c'est ultra urgent. :D

Sub efface_date()
For Each cel In Range("A1:E21")
With cel
Selection.NumberFormat = "mm-dd-yyyy"
.ClearContents
.Delete Shift:=xlToLeft
End With
Next cel
End Sub
A voir également:

2 réponses

Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour,

Essayez ceci
Sub efface_date()
  Dim Cellule As Range
  For Each Cellule In Range("A1:E21")
    If IsDate(Cellule) Then
      Cellule.ClearContents
    End If
  Next
End Sub

Cordialement
1
uly2562 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   1
 
Ouai, c'est exactement ce que je voulais. Merciiiii :D
Juste encore un petit détail, sa serai pour decaler les cellules une fois fini.
Mais quand j'essaye de mettre ".Delete Shift:=xlToLeft " , il me met:
"Erreur de compilation, Sub ou fonction non définie"
0
uly2562 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   1
 
Décalage vers la gauche ( précision)
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
vous voulez décaler quelle cellule exactement, celle qui se trouve à droite de la date ?
0
uly2562 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   1
 
exact. celle qui se trouve juste a coté, a droite
0
uly2562 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   1
 
vers la gauche
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
et voila
Sub efface_date()
  Dim Cellule As Range
  For Each Cellule In Range("A1:E5")
    If IsDate(Cellule) Then
      Cellule.ClearContents
      Cellule.Delete Shift:=xlToLeft
    End If
  Next
End Sub
0