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

Résolu
tribal005 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
tribal005 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -
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   61
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention   18
 
merci beaucoup Kuartz
0
tribal005 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   18 > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Membre Dernière intervention   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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > tribal005 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   18
 
0