Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction pour éffacer des lignes si date du jour dépassée

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 !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide afin d'écrire une fonction pour éffacer des lignes contenant des dates en colonne D, si ces dates sont inférieures à la date du jour.

voir fichier...

Merci pour le temps que vous voudrez bien m'accorder.

Bien amicalement,
Christian
 

Pièces jointes

Re : Fonction pour éffacer des lignes si date du jour dépassée

Bonjour à tous 🙂

Bon, c'est ce qui s'appelle arriver après la bataille, mais comme c'est fait je le poste quand même 🙂

Code:
[COLOR=#0000ff]Private Sub[/COLOR] Workbook_Open()
[COLOR=blue]Dim[/COLOR] Derlig [COLOR=blue]As Long[/COLOR], Plage [COLOR=blue]As[/COLOR] Range, Plage2 [COLOR=blue]As[/COLOR] Range, Cl [COLOR=blue]As[/COLOR] Range
[COLOR=blue]With[/COLOR] Sheets("Archives")
   [COLOR=blue]If[/COLOR] .AutoFilterMode [COLOR=blue]And[/COLOR] .FilterMode [COLOR=blue]Then[/COLOR] .ShowAllData
   Derlig = Cells(Rows.Count, 1).End(xlUp).Row
   [COLOR=blue]Set[/COLOR] Plage = .Range("D2:D" & Derlig)
    [COLOR=blue]For Each[/COLOR] Cl [COLOR=blue]In[/COLOR] Plage
        [COLOR=blue]If[/COLOR] Cl.Value < [COLOR=blue]Date Then[/COLOR]
            [COLOR=green]'Si oui, on stocke Plage2[/COLOR]
            [COLOR=blue]If[/COLOR] Plage2 [COLOR=blue]Is Nothing Then[/COLOR]
                [COLOR=blue]Set[/COLOR] Plage2 = Cl
            [COLOR=blue]Else[/COLOR]
                [COLOR=blue]Set[/COLOR] Plage2 = Union(Plage2, Cl)
            [COLOR=blue]End If[/COLOR]
        [COLOR=blue]End If[/COLOR]
    [COLOR=blue]Next[/COLOR] Cl
    [COLOR=green]'Si la Plage2 n'est pas vide on supprime les lignes[/COLOR]
    [COLOR=blue]If Not[/COLOR] Plage2 [COLOR=blue]Is Nothing Then[/COLOR]
        Plage2.EntireRow.Delete
    [COLOR=blue]End If[/COLOR]
[COLOR=blue]End With[/COLOR]
[COLOR=blue]End Sub[/COLOR]

Je me suis inspirée de codes postés par pierrot et myDearFriend (en espérant ne pas les avoir trop déformés ...)

Bon après-midi à tous 🙂

mth
 
Dernière édition:
- 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

Réponses
6
Affichages
342
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…