VBA test de ligne vide et suppression
Résolu/Fermé
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
-
28 nov. 2011 à 12:26
camanagro - 28 févr. 2013 à 21:54
camanagro - 28 févr. 2013 à 21:54
A voir également:
- Supprimer ligne vide excel vba
- Aller à la ligne excel - Guide
- Supprimer page word vide - Guide
- Supprimer liste déroulante excel - Guide
- Supprimer compte instagram - Guide
- Si et excel - Guide
9 réponses
Le Pingou
Messages postés
12229
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
9 janvier 2025
1 454
28 nov. 2011 à 16:32
28 nov. 2011 à 16:32
Bonjour,
Au passage remplacer [Empty] par [0].
Au passage remplacer [Empty] par [0].
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
28 nov. 2011 à 18:14
28 nov. 2011 à 18:14
Salut le fil,
j'arrive après la bataille mais bon
Option Explicit
Sub supligne()
Dim lastline, firstline As Integer
Dim a, r As Long
'trouve la derniere ligne du tableau
lastline = ActiveSheet.UsedRange.Rows.Count
'trouve la premiere ligne du tableau de donnée
For a = 1 To lastline Step 1
If Cells(a, 1).Value = "Priority" Then
firstline = a + 1
End If
Next a
For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
ou plus simplement
Sub Suplignvides()
Dim r As Long
For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
j'arrive après la bataille mais bon
Option Explicit
Sub supligne()
Dim lastline, firstline As Integer
Dim a, r As Long
'trouve la derniere ligne du tableau
lastline = ActiveSheet.UsedRange.Rows.Count
'trouve la premiere ligne du tableau de donnée
For a = 1 To lastline Step 1
If Cells(a, 1).Value = "Priority" Then
firstline = a + 1
End If
Next a
For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
ou plus simplement
Sub Suplignvides()
Dim r As Long
For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
6
28 nov. 2011 à 17:14
28 nov. 2011 à 17:14
Sur la ligne :
If Application.CountA(Rows(r)) = Empty Then Rows(r).EntireRow.Delete
Ce qui est souligné est ce qui est surligné en mode débugage.
If Application.CountA(Rows(r)) = Empty Then Rows(r).EntireRow.Delete
Ce qui est souligné est ce qui est surligné en mode débugage.
Charles-Daniel
Messages postés
11
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
28 novembre 2011
1
28 nov. 2011 à 17:38
28 nov. 2011 à 17:38
et puis mettre
If Application.CountA(Rows(r)) = Empty Then Rows(r).EntireRow.Delete
Bonne soirée
If Application.CountA(Rows(r)) = Empty Then Rows(r).EntireRow.Delete
Bonne soirée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12229
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
9 janvier 2025
1 454
28 nov. 2011 à 17:06
28 nov. 2011 à 17:06
Bonjour,
Dans ce cas le problème est ailleurs, sur quelle ligne la procédure code est arrêté?
Dans ce cas le problème est ailleurs, sur quelle ligne la procédure code est arrêté?
Charles-Daniel
Messages postés
11
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
28 novembre 2011
1
28 nov. 2011 à 17:36
28 nov. 2011 à 17:36
Mauvaise définition de la variable. Au lieu de
For r = lastline To fistline Step -1
il faut
For r = lastline To firstline Step -1
et ca tourne.
Salutations
For r = lastline To fistline Step -1
il faut
For r = lastline To firstline Step -1
et ca tourne.
Salutations
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
6
28 nov. 2011 à 17:41
28 nov. 2011 à 17:41
Merci beaucoup,
Et dire que j'ai cherché pendant plusieurs heure pourquoi ca ne marchait pas. Je fairais plus attention les foix prochaines, c'est vraiment bete de perdre autant de temps pour ca.
Merci encore.
Et dire que j'ai cherché pendant plusieurs heure pourquoi ca ne marchait pas. Je fairais plus attention les foix prochaines, c'est vraiment bete de perdre autant de temps pour ca.
Merci encore.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié par eriiic le 28/11/2011 à 17:49
Modifié par eriiic le 28/11/2011 à 17:49
Bonjour,
Pour éviter les erreurs de nom de variable aller dans 'options / editeur' (de VBE) et cocher 'Déclaration des variables obligatoire'
Tous tes modules commenceront par Option Explicit et tu ne pourras pas saisir un nom non déclaré.
eric
Pour éviter les erreurs de nom de variable aller dans 'options / editeur' (de VBE) et cocher 'Déclaration des variables obligatoire'
Tous tes modules commenceront par Option Explicit et tu ne pourras pas saisir un nom non déclaré.
eric
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
6
28 nov. 2011 à 17:55
28 nov. 2011 à 17:55
Merci pour l'astuce.
Bonjour,
Je voudrais également supprimer les lignes vides de mon tableau et j'ai donc recopier ce qui a été dit, exactement..Sauf que bien que la macro fonctionne, j'ai également ce message d'erreur..(j'ai bien remplace fist par first, et meme en utilisant la dernière macro Suplignvides(), j'ai ce message..
Question subsidiaire, dans l'idéal j'aimerai supprimer toutes les lignes vides de mon tableur sauf celles suivies d'une ligne dont la première cellule est non vide .J'ai essayé avec des boucles if "bidouillage" qui ne fonctionnent pas du tout donc je suppose qu'il y a une meilleure manière du même genre que celle mentionnée ci dessus.
Je vous remercie pour votre aide!!
Je voudrais également supprimer les lignes vides de mon tableau et j'ai donc recopier ce qui a été dit, exactement..Sauf que bien que la macro fonctionne, j'ai également ce message d'erreur..(j'ai bien remplace fist par first, et meme en utilisant la dernière macro Suplignvides(), j'ai ce message..
Question subsidiaire, dans l'idéal j'aimerai supprimer toutes les lignes vides de mon tableur sauf celles suivies d'une ligne dont la première cellule est non vide .J'ai essayé avec des boucles if "bidouillage" qui ne fonctionnent pas du tout donc je suppose qu'il y a une meilleure manière du même genre que celle mentionnée ci dessus.
Je vous remercie pour votre aide!!
28 nov. 2011 à 16:46