VBA Suppr lignes si pas date
Résolu
Nathalie
-
nathjeuh22 Messages postés 6 Statut Membre -
nathjeuh22 Messages postés 6 Statut Membre -
Bonjour tout le monde
Je suis débutante en VBA et aurai (vraiment) besoin de votre aide. Je vous explique en bref mon fichier:
J'ai un onglet Excel, qui est divisé en 2 parties. Partie 1 de "A9:D200" et partie 2 de "E9:H200". Dans la 4ième colonne de chaque partie (colonnes D et H) il y des cellules contenant des dates, d'autres contenant des mots, ... Je voudrai que la macro supprime de "A:D" si il n'y a pas de date dans la colonne D de cette ligne. Et que la macro supprime de "E:H" si il n'y pas de date dans la colonne H.
Mais attention, car il est possible que, par exemple, je n'ai pas de date dans "D20", mais bien dans "H20". Et je ne voudrai pas qu'il me supprime "E20:H20".
J'espère que quelqu'un pourra m'aider !
Déjà un grand merci,
Nathalie
Je suis débutante en VBA et aurai (vraiment) besoin de votre aide. Je vous explique en bref mon fichier:
J'ai un onglet Excel, qui est divisé en 2 parties. Partie 1 de "A9:D200" et partie 2 de "E9:H200". Dans la 4ième colonne de chaque partie (colonnes D et H) il y des cellules contenant des dates, d'autres contenant des mots, ... Je voudrai que la macro supprime de "A:D" si il n'y a pas de date dans la colonne D de cette ligne. Et que la macro supprime de "E:H" si il n'y pas de date dans la colonne H.
Mais attention, car il est possible que, par exemple, je n'ai pas de date dans "D20", mais bien dans "H20". Et je ne voudrai pas qu'il me supprime "E20:H20".
J'espère que quelqu'un pourra m'aider !
Déjà un grand merci,
Nathalie
A voir également:
- VBA Suppr lignes si pas date
- Incompatibilité de type vba ✓ - Forum Programmation
- Jm date désabonnement ✓ - Forum Consommation & Internet
- Jm date avis - Forum Consommation & Internet
- Airpods 3 date de sortie - Guide
- Afficher toutes les lignes masquées excel ✓ - Forum Excel
3 réponses
Bonjour,
Voici un code possible.
!!!!!!!TESTE LE SUR UNE COPIE DE TON CLASSEUR!!!!!!!!!!!!!
!!!!!!!!! PAS SUR L'ORIGINAL !!!!!!!!!!!!!!!
Cordialement,
Franck P
Voici un code possible.
!!!!!!!TESTE LE SUR UNE COPIE DE TON CLASSEUR!!!!!!!!!!!!!
!!!!!!!!! PAS SUR L'ORIGINAL !!!!!!!!!!!!!!!
Sub SupprSiPasDate()
Dim Lig As Long, DrLig As Long
'Je suppose que la colonne A est la "plus longue"
'sinon changer A dans la ligne ci dessous
DrLig = Range("A" & Rows.Count).End(xlUp).Row
For Lig = DrLig To 1 Step -1
If IsDate(Cells(Lig, 4)) = False Then
Range(Cells(Lig, 1), Cells(Lig, 4)).Delete Shift:=xlUp
End If
If IsDate(Cells(Lig, 8)) = False Then
Range(Cells(Lig, 5), Cells(Lig, 8)).Delete Shift:=xlUp
End If
Next
End Sub
Cordialement,
Franck P
Bonjour
Merci pour votre réponse !! Mais malheureusement ca ne functionne pas ... Je l'ai testé, et qlq chose functionne, mais ca dure et ce dure et ca me bloque tout.
J'ai une macro qui me supprime des lignes, mais il en supprime trop.
Range("D2500:D9").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Range("D2500:D9").SpecialCells(xlCellTypeConstants, _ xlTextValues).EntireRow.Delete
Merci!
Merci pour votre réponse !! Mais malheureusement ca ne functionne pas ... Je l'ai testé, et qlq chose functionne, mais ca dure et ce dure et ca me bloque tout.
J'ai une macro qui me supprime des lignes, mais il en supprime trop.
Range("D2500:D9").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Range("D2500:D9").SpecialCells(xlCellTypeConstants, _ xlTextValues).EntireRow.Delete
Merci!
Pijaku! Je n'avai pas vu que c'était vous! Vous m'avez déjà aidé sur une question il y a qlq mois d'ici!! Et ca functionne toujours super bien ;)
Pour votre macro, je l'ai tout simplement testé comme vous me l'avez donné, sur mes données.
Je n'ai rien ajouté / supprimé.
Pour mes données, elles varient. Je compte jusqu'à 2500 lignes. Mais il y a defois une dizaine de lignes avec données, puis 5 sans données, etc ...
J'ai essayé de faire une macro qui supprime les lignes si elle ne sont pas au format #dd/mm/aaaa# mais ca n'a pas functionné.
Pour votre macro, je l'ai tout simplement testé comme vous me l'avez donné, sur mes données.
Je n'ai rien ajouté / supprimé.
Pour mes données, elles varient. Je compte jusqu'à 2500 lignes. Mais il y a defois une dizaine de lignes avec données, puis 5 sans données, etc ...
J'ai essayé de faire une macro qui supprime les lignes si elle ne sont pas au format #dd/mm/aaaa# mais ca n'a pas functionné.