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

  • Initiateur de la discussion Initiateur de la discussion benJ82
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !... 😀
... 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 ? 😕 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
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
17
Affichages
2 K
Retour