VBA - supprimer toutes les lignes au dessus/en dessous
USF123
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
thev Messages postés 1986 Date d'inscription Statut Membre Dernière intervention -
thev Messages postés 1986 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je bosse actuellement sur un projet VBA et j'ai besoin d'un petit coup de pouce :)
L'idée est que dans mon userform on peut sélectionner une date de début et une date de fin de période et j'aimerais qu'en cliquant sur un commandbutton toutes les lignes au dessus et en dessous de ces dates soient supprimées.
Avez-vous une petite idée du code nécessaire ?
Thanks all !
Je bosse actuellement sur un projet VBA et j'ai besoin d'un petit coup de pouce :)
L'idée est que dans mon userform on peut sélectionner une date de début et une date de fin de période et j'aimerais qu'en cliquant sur un commandbutton toutes les lignes au dessus et en dessous de ces dates soient supprimées.
Avez-vous une petite idée du code nécessaire ?
Thanks all !
A voir également:
- VBA - supprimer toutes les lignes au dessus/en dessous
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Partager photos en ligne - Guide
- Supprimer pub youtube - Accueil - Streaming
- Fichier impossible à supprimer - Guide
3 réponses
Bonjour,
ci-dessous exemple de code
ci-dessous exemple de code
Sub supprimer_lignes()
'si les dates se trouvent en colonne A
Dim date_i As Range, ligne As Range, lignes_à_supprimer As Range
With ActiveSheet
'stockage lignes à supprimer
For Each date_i In Range(.[A1], .[A:A].Find("", SearchOrder:=xlRows, SearchDirection:=xlPrevious))
Set ligne = date_i.EntireRow
If date_i < date_début.Value Or date_i > date_fin.Value Then
If lignes_à_supprimer Is Nothing Then Set lignes_à_supprimer = ligne _
Else Set lignes_à_supprimer = Union(lignes_à_supprimer, ligne)
End If
Next date_i
'suppression lignes
lignes_à_supprimer.Delete
End With
End Sub
Merci beaucoup Thev !
Ton code marche un peu trop bien, à chaque fois toutes les lignes sont supprimées ...
Une idée ?
Thanks !
Ton code marche un peu trop bien, à chaque fois toutes les lignes sont supprimées ...
Une idée ?
Thanks !
Si toutes les lignes sont supprimées, c'est que cette condition
est toujours vraie.
Je t'invite donc à vérifier les contenus de date_début.Value et date_fin.Value. Si date_fin_value est vide, la condition est toujours vraie.
Dans ton Userform, les noms des contrôles correspondant à ces 2 dates, ne sont pas forcément date_début et date_fin.
If date_i < date_début.Value Or date_i > date_fin.Value
est toujours vraie.
Je t'invite donc à vérifier les contenus de date_début.Value et date_fin.Value. Si date_fin_value est vide, la condition est toujours vraie.
Dans ton Userform, les noms des contrôles correspondant à ces 2 dates, ne sont pas forcément date_début et date_fin.