J
Jultra
Guest
Rebonjour au Forum,
J'ai besoin de votre aide. J'espère que je vais être clair, car ce n'est pas évident!
Je dispose d'une base de données dans une page "Prog General". Je la trie selon un critère et je positionne chaque ligne dans 1 des 7 autres pages de mon fichier.
Les lignes se positionnent sur la même ligne que celle de la base de données.
Du coup je peux avoir plusieurs lignes vides sur les 7 pages.
Je désire les supprimer par la macro Sub suppression_lignes_vides().
Le programme marche au début mais ensuite comme je fais m=m-1 (car il peut y avoir plusieurs lignes vides à la suite), il tourne dans le vide car il n'atteint jamais l'indice de la dernière ligne.
J'espère que vous avez compris et que quelqu'un pourra m'aider ou me conseiller au moins.
Merci d'avance!
Voici la partie du programme concernée:
Function indice_derniere_ligne() As Integer
Sheets("Prog General").Select
Dim n As Integer
n = 2
While Not (IsEmpty(Cells(n, "A")))
n = n + 1
Wend
indice_derniere_ligne = n - 1
MsgBox "indice derniere ligne" & n - 1
End Function
Sub suppression_lignes_vides()
Dim m As Integer
For m = 2 To indice_derniere_ligne
Sheets("L100").Select
If Cells(m, "A") = "" Then
Range(Cells(m, "A"), Cells(m, "E")).Select
Selection.Delete Shift:=xlUp
m = m - 1
Else
End If
Next
Range("A1").Select
End Sub
J'ai besoin de votre aide. J'espère que je vais être clair, car ce n'est pas évident!
Je dispose d'une base de données dans une page "Prog General". Je la trie selon un critère et je positionne chaque ligne dans 1 des 7 autres pages de mon fichier.
Les lignes se positionnent sur la même ligne que celle de la base de données.
Du coup je peux avoir plusieurs lignes vides sur les 7 pages.
Je désire les supprimer par la macro Sub suppression_lignes_vides().
Le programme marche au début mais ensuite comme je fais m=m-1 (car il peut y avoir plusieurs lignes vides à la suite), il tourne dans le vide car il n'atteint jamais l'indice de la dernière ligne.
J'espère que vous avez compris et que quelqu'un pourra m'aider ou me conseiller au moins.
Merci d'avance!
Voici la partie du programme concernée:
Function indice_derniere_ligne() As Integer
Sheets("Prog General").Select
Dim n As Integer
n = 2
While Not (IsEmpty(Cells(n, "A")))
n = n + 1
Wend
indice_derniere_ligne = n - 1
MsgBox "indice derniere ligne" & n - 1
End Function
Sub suppression_lignes_vides()
Dim m As Integer
For m = 2 To indice_derniere_ligne
Sheets("L100").Select
If Cells(m, "A") = "" Then
Range(Cells(m, "A"), Cells(m, "E")).Select
Selection.Delete Shift:=xlUp
m = m - 1
Else
End If
Next
Range("A1").Select
End Sub