Erreur d'exécution 13 : Incompatibilité de type

benJ82

XLDnaute Nouveau
Bonjour à tous

Je dispose d'un tableau Excel où des dates figurent en colonne B.
J'essaie de créer un programme qui supprime les lignes où la date qui figure dans la colonne B est moins de 15 jours en arrière par rapport à la date d'aujourd'hui.

Lorsque j'exécute cette sub ci-dessous, le programme effectue bien ce que j'attends de lui !... :D
... et pourtant, le message "Erreur d'exécution 13 : Incompatibilité de type" apparaît. C'est la partie ci-dessous en ROUGE qui pose problème.

Pouvez-vous m'aider svp ? :confused: Par avance merci !

Voici la macro :

Sub FILTRAGE()
'
Dim i As Integer, DerniereLigne As Integer
DerniereLigne = Range("A65536").End(xlUp).Row
'
For i = DerniereLigne To 1 Step -1
If Now - Sheets("Feuil1").Cells(i, 2).Value < 15 Then Sheets("Feuil1").Rows(i).Delete
Next i
'
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Erreur d'exécution 13 : Incompatibilité de type

Bonsoir Benj et bienvenu, bonsoir le forum,

Peut-être en remplaçant Now par Date et avec une gestion d'erreur au cas ou une cellule de la colonne B ne soit pas une date... :
Code:
Sub FILTRAGE()
Dim i As Integer, DerniereLigne As Integer

DerniereLigne = Range("A65536").End(xlUp).Row
For i = DerniereLigne To 1 Step -1
    On Error Resume Next
    If Date - Sheets("Feuil1").Cells(i, 2).Value < 15 Then Sheets("Feuil1").Rows(i).Delete
    If Err <> 0 Then
        Err = 0
    End If
    On Error GoTo 0
Next i
End Sub
 

MichD

XLDnaute Impliqué
Re : Erreur d'exécution 13 : Incompatibilité de type

Bonjour,

Dim i As Long, DerniereLigne As Long

****Quand tu utilises des variables pour le numéro des lignes,
tes variables devraient être de type "Long" compte tenu du
nombre de lignes possibles dans une feuille

**** Compte tu traites la suppression d'après le critère en colonne B
il serait préférable que tu testes le nombre de lignes maximales
existant en Colonne B

DerniereLigne = Range("B65536").End(xlUp).Row


**** Et pour finir, tu as certainement des données en colonne B qui ne sont
pas reconnues comme des dates valides ou du texte d'où ton message
d'erreur.
 

Discussions similaires