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

Résolu/Fermé
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 - Modifié par tribal005 le 2/06/2016 à 13:23
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 - 6 juin 2016 à 10:53
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

A voir également:

2 réponses

Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 2/06/2016 à 14:07
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 2/06/2016 à 14:19
bonjour

sans boucle et rapide
Sub Supprimer_si_vide()
Dim Ligne As Long

On Error Resume Next
Ligne = Cells.Find("*", , , , , xlPrevious).Row
Range("A2:A" & Ligne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
0
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18
Modifié par tribal005 le 2/06/2016 à 14:24
merci beaucoup Kuartz
0
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
2 juin 2016 à 14:25
michel_m je ne comprend pas trop tes lignes
On Error Resume Next
Ligne = Cells.Find("*", , , , , xlPrevious).Row
Range("A2:A" & Ligne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
0
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18
2 juin 2016 à 14:41
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310 > tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016
Modifié par michel_m le 2/06/2016 à 15:01
qu'est ce que tu ne comprends pas ?

As tu essayé ce code ?

Au besoin tu peux voir le principe en utilisant l'enregistreur de macro
0
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18
6 juin 2016 à 10:53
0