Comment trouver en VB les lignes vides d'un fichier Excel?

[Résolu/Fermé]
Signaler
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016
-
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016
-
Bonjour,

J'aimerais trouver les lignes vides d'un fichier excel et les supprimer pour que je puisse importer mon fichier excel dans ma base Access.
J'ai déjà cherché la réponse sur plusieurs forum mais rien ne marche..

J'ai essayé de faire une boucle parcourant toutes mes lignes du fichiers Excel

Cordialement

2 réponses

Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
51
Bonjour,

Effectivement, la boucle me paraît être la vraie bonne solution. Mais attention à bien la construire, c'est à dire à l'envers ! (Non je ne fume pas.) On va partir de la dernière ligne pour remonter vers la première car sinon, le fait de supprimer une ligne va fausser ta variable.

Bref comme ceci :

Sub SUPPRIMER_LIGNES()

Dim DL As Long, i As Integer

DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'Définit la dernière ligne du fichier excel (attention, 1 est le numéro de colonne de référence, mettre le numéro de la colonne qui est remplie le plus bas

For i = DL To 1 Step -1 'Pour i allant de la dernière ligne à la ligne 1

If Application.CountA(Rows(i)) = Empty Then Rows(i).EntireRow.Delete

Next i

End Sub


Voilà voilà.

Bonne journée.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42854 internautes nous ont dit merci ce mois-ci

Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016
18
J'ai dit merci beaucoup trop vite, J'ai copier ton code et il me dit qu'il ne reconnais pas le membre de la méthode ".rows"

sur la ligne suivante:
DL = Cells(Application.Rows.Count, 1).End(xlUp).Row
Messages postés
16506
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 septembre 2021
3 220 >
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016

Rows est un objet désignant propre aux lignes

Row sans "s" n'est pas une méthode mais une propriété
Dl donne la dernière occupée dans la colonne A

mais ne connaissant ce qu'il y a dans la feuille rien ne dit que la donnée la + en bas est sur la colonne A
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016
18 >
Messages postés
16506
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 septembre 2021

Merci bien, j'ai trouver enfaîte il fallait que je remplace Application par Selection pour ne plus avoir l'erreur.

Cependant il ne supprime pas les lignes vides

Ps je fait du VB sous Access.
Messages postés
16506
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 septembre 2021
3 220 >
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016

Excuse moi de t'avoir dérangé en essayant de t'aider.
ca ne reproduira plus.
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016
18
Tu m'as bien aidé en expliquant la différence entrre row et rows merci à toi :)
Messages postés
70
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
15 juin 2016
18