Probleme avec une condition

  • Initiateur de la discussion Initiateur de la discussion niwiz
  • 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 !

niwiz

XLDnaute Nouveau
Bonjour , je vous sollicite pour un petit problème avec le if.

Dans ma macro je cherche a supprimer les lignes ou les dates qui sont antérieur à celle d'aujourd'hui (ce que j'ai réussi a faire) mais je souhaiterais aussi supprimer les lignes ou il y a du texte au lieu d'une date

voici un peut de code :

Code:
    fin = Range("A65000").End(xlUp).Row
    dateAuj = Format(DateSerial(Year(Date), Month(Date), 1), "dd/mm/yyyy")
    cpt = 1
    If fin > 2 Then
        For i = 2 To fin
            [B]If CDate(Cells(i, 10).Value) < CDate(dateAuj)  Then[/B]
            
                Rows(i).Delete
                i = i - 1
                cpt = cpt + 1
                
                 If cpt = fin Then
                    i = cpt
                 End If
                 
            End If
        Next i
    End If

Dans la partie en gras je souhaiterai rajouter une condition (or) qui permettrais d'inclure dans le if les cellules avec du texte (au lieu d'une date)


voila merci beaucoup !!
 
Re : Probleme avec une condition

Bonjour,

essaye ceci à placer avant le test de comparaison de date :
Code:
If Not IsDate(Cells(i, 10).Value) Then Rows(i).Delete

A noter, quand tu supprimes des lignes, préférable de commencer par la fin et remonter...
Code:
For i = fin To 2 Step -1
'ton code
Next i
bonne journée
@+
 
Re : Probleme avec une condition

Bonjour et merci pierrot pour l'astuce.

j'ai modifié ton code et trouvé une soluce grâce à toi

Code:
    If fin > 2 Then
        For i = fin To 2 Step -1
        
            If IsDate(Cells(i, 10).Value) Then
                If CDate(Cells(i, 10).Value) < CDate(dateAuj) Then
                    Rows(i).Delete
                End If
            Else
                Rows(i).Delete
            End If
        
        Next i
    End If
 
- 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
Microsoft 365 Problème de date
Réponses
5
Affichages
265
Réponses
2
Affichages
180
Réponses
5
Affichages
699
Réponses
4
Affichages
572
Réponses
3
Affichages
353
Retour