VBA Suppr lignes si pas date
Résolu
Nathalie
-
nathjeuh22 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
nathjeuh22 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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
- Jm date avis - Forum Consommation & Internet
- Airpods 3 date de sortie - Guide
- Jm date désabonnement - Forum Gmail
- Afficher toutes les lignes masquées excel ✓ - Forum Excel
- Excel trier par date ne fonctionne pas ✓ - 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é.