Pb code simple VBA qui ne fonctionne pas tout le temps

Bonjour,

J'essaie d'apprendre à utiliser le VBA mais j'ai rencontré un problème.

J'ai écris un code simple qui compare des dates et j'aimerais qu'il fonctionne sur un fichier qui m'a été fourni. En fait ce code fonctionne sur une page Excel que je crée moi-même mais pas sur le fichier sur lequel je dois travailler. Help !!!

Si pouviez m'expliquer où est le problème cela m'aiderait beaucoup merci !

Vous trouverez mon fichier en pièce jointe et voici mon code:

Sub TEST()

Dim i As Integer

Dim dateDebutPeriode As Long

dateDebutPeriode = Cells(1, 3)

Dim DernLigne As Long

DernLigne = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To DernLigne

If Cells(i, 1) >= dateDebutPeriode Then

Cells(i, 2) = 1

End If

Next

End Sub

20fichier.xlsx (58.55 Ko)

Bonjour Nassima, bonjour le forum,

• Ta date initiale ne se trouve pas dans Cells(1, 3) mais dans Cells(1, 2) !

• Dans la colonne A il y a des données qui ne sont pas des dates !...

Ton code modifié :

Sub TEST()
Dim i As Integer
Dim dateDebutPeriode As Date
dateDebutPeriode = Cells(1, 2)
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To DernLigne
    If IsDate(Cells(i, 1)) = True Then
        If Cells(i, 1) >= dateDebutPeriode Then Cells(i, 2) = 1
    End If
Next
End Sub

Bonjour,

Teste avec le code suivant :

Sub TEST()
    Dim i As Integer
    Dim dateDebutPeriode As Date
    dateDebutPeriode = Cells(1, 2)
    Dim DernLigne As Long
    DernLigne = Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To DernLigne
        If IsDate(Cells(i, 1)) Then
            If Cells(i, 1) >= dateDebutPeriode Then
                Cells(i, 2) = 1
            End If
        End If
    Next
End Sub

NB : met une date qui correspond par exemple de 2014 si tu veux tester.

Merci pour ces réponses !!!

Concernant l'emplacement de la date désolé j'avais oublié que je l'avais changé entre temps mais je sais que mon erreur ne provenait pas de cela car j'avais un message d'erreur concernant le "type".

Le fait d'ajouter IsDate(Cells(i, 1)) = True règle le pb merci je ne connaissais pas cette fonction

Rechercher des sujets similaires à "code simple vba qui fonctionne pas tout temps"