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

Résolu
tribal005 Messages postés 99 Statut Membre -  
tribal005 Messages postés 99 Statut Membre -
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 852 Date d'inscription   Statut Membre Dernière intervention   62
 
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 18903 Statut Contributeur 3 317
 
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 99 Statut Membre 18
 
merci beaucoup Kuartz
0
tribal005 Messages postés 99 Statut Membre 18 > michel_m Messages postés 18903 Statut Contributeur
 
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 99 Statut Membre 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
0
michel_m Messages postés 18903 Statut Contributeur 3 317 > tribal005 Messages postés 99 Statut Membre
 
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 99 Statut Membre 18
 
0