Manipuler les dates dans une macro

kayslife

XLDnaute Junior
Salut a vous.

je vous expose mon problème. J'ai cette petite macro dans mon fichier joint


Sub test1()
For j = 3 To 54

If (Day(CDate(ActiveSheet.Cells(j, 2))) = 1) And (Month(CDate(ActiveSheet.Cells(j, 2))) = 2) Then
ActiveSheet.Cells(j, 3) = j
Else

End If

Next
End Sub


qui après exécution me renvoie une erreur d’incompatibilité de type. et ceci est due au fait que la cellule ActiveSheet.Cells(3, 2) contient le texte "DATE". Est ce que c'est possible sauter a chaque fois les cellule qui ne contiennent pas des dates?

Merci
 

Pièces jointes

  • date.xlsm
    16.4 KB · Affichages: 54
  • date.xlsm
    16.4 KB · Affichages: 69
  • date.xlsm
    16.4 KB · Affichages: 60

pierrejean

XLDnaute Barbatruc
Re : Manipuler les dates dans une macro

Bonjour kayslife

Code:
Sub test1()
           For j = 3 To 54
                If IsDate(ActiveSheet.Cells(j, 2)) Then
                 If (Day(CDate(ActiveSheet.Cells(j, 2))) = 1) And (Month(CDate(ActiveSheet.Cells(j, 2))) = 2) Then
                  ActiveSheet.Cells(j, 3) = j
                 End If
                End If
            Next
End Sub
 

sousou

XLDnaute Barbatruc
Re : Manipuler les dates dans une macro

Bonjour kayslife
ajoute un test si la cellule est une date
Sub test1()
For j = 3 To 54
If IsDate(ActiveSheet.Cells(j, 2)) = True Then
MsgBox Day(CDate(ActiveSheet.Cells(j, 2)))
If (Day(CDate(ActiveSheet.Cells(j, 2))) = 1) And (Month(CDate(ActiveSheet.Cells(j, 2))) = 2) Then
ActiveSheet.Cells(j, 3) = j
Else

End If
End If

Next
End Sub
trop tard et bonjour à tous
 

Discussions similaires