supprimer les lignes vides dans une boucle, en évitant le décala ge
5 réponses
Maud
bonjour a tous
je fais une boucle for each et je test dans une plage si un champ est vide
alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme
la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et
comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne,
quand il y a plusieurs champs vides, il y en a un qui reste vide!
j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In
Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2")
r = nom3.Row
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r)
= "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete
End If
Next r
For nom3 = 2 To nombreligne
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" &
nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete
End If
Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincnet.
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Une astuce courante pour ce cas précis : utilise
For nom3 = nombreligne To 2 Step -1
ce qui te permettra de partir du bas et de ne supprimer que les lignes
souhaitées !
--
A+
V.
bonjour a tous
je fais une boucle for each et je test dans une plage si un champ est vide
alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme
la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et
comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne,
quand il y a plusieurs champs vides, il y en a un qui reste vide!
j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In
Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2")
r = nom3.Row
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r)
= "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete
End If
Next r
For nom3 = 2 To nombreligne
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" &
nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete
End If
Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Daniel
Bonjour. Adapte :
For i = Range("A65536").End(xlUp).Row To 1 Step -1 If Range("A" & i).Value = "" Then Range("A" & i).EntireRow.Delete End If Next i
Cordialement. Daniel "Maud" a écrit dans le message de news:
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Bonjour.
Adapte :
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Range("A" & i).Value = "" Then
Range("A" & i).EntireRow.Delete
End If
Next i
Cordialement.
Daniel
"Maud" <Maud@discussions.microsoft.com> a écrit dans le message de news:
7B7C66A3-5669-4191-861F-A699A14E2C55@microsoft.com...
bonjour a tous
je fais une boucle for each et je test dans une plage si un champ est vide
alors suprrime moi la ligne. Mais en suprimant une ligne avec delete,
comme
la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée,
et
comme pour la boucle for each, a chaque fois, la boucle descend d'une
ligne,
quand il y a plusieurs champs vides, il y en a un qui reste vide!
j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In
Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2")
r = nom3.Row
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" &
r)
= "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete
End If
Next r
For i = Range("A65536").End(xlUp).Row To 1 Step -1 If Range("A" & i).Value = "" Then Range("A" & i).EntireRow.Delete End If Next i
Cordialement. Daniel "Maud" a écrit dans le message de news:
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Maud
merci ca marche!! pfiou, enfin!! merci beaucoup!
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
merci ca marche!! pfiou, enfin!! merci beaucoup!
Une astuce courante pour ce cas précis : utilise
For nom3 = nombreligne To 2 Step -1
ce qui te permettra de partir du bas et de ne supprimer que les lignes
souhaitées !
--
A+
V.
bonjour a tous
je fais une boucle for each et je test dans une plage si un champ est vide
alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme
la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et
comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne,
quand il y a plusieurs champs vides, il y en a un qui reste vide!
j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In
Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2")
r = nom3.Row
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r)
= "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete
End If
Next r
For nom3 = 2 To nombreligne
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" &
nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete
End If
Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Vincnet.
de rien beaucoup ! ;op
-- A+
V.
merci ca marche!! pfiou, enfin!! merci beaucoup!
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
de rien beaucoup ! ;op
--
A+
V.
merci ca marche!! pfiou, enfin!! merci beaucoup!
Une astuce courante pour ce cas précis : utilise
For nom3 = nombreligne To 2 Step -1
ce qui te permettra de partir du bas et de ne supprimer que les lignes
souhaitées !
--
A+
V.
bonjour a tous
je fais une boucle for each et je test dans une plage si un champ est vide
alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme
la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et
comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne,
quand il y a plusieurs champs vides, il y en a un qui reste vide!
j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In
Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2")
r = nom3.Row
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r)
= "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete
End If
Next r
For nom3 = 2 To nombreligne
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" &
nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete
End If
Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est vide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, comme la ligne disparait, c'est la ligne de dessous qui deviens celle supprimée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une ligne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Delete End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).Delete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
JB
Pour supprimer les lignes vides en colonne A sans boucle:
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est v ide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, c omme la ligne disparait, c'est la ligne de dessous qui deviens celle supprim ée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une l igne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Dele te End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).D elete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Pour supprimer les lignes vides en colonne A sans boucle:
Une astuce courante pour ce cas précis : utilise
For nom3 = nombreligne To 2 Step -1
ce qui te permettra de partir du bas et de ne supprimer que les lignes
souhaitées !
--
A+
V.
bonjour a tous
je fais une boucle for each et je test dans une plage si un champ est v ide
alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, c omme
la ligne disparait, c'est la ligne de dessous qui deviens celle supprim ée, et
comme pour la boucle for each, a chaque fois, la boucle descend d'une l igne,
quand il y a plusieurs champs vides, il y en a un qui reste vide!
j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In
Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2")
r = nom3.Row
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r)
= "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Dele te
End If
Next r
For nom3 = 2 To nombreligne
If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" &
nom3) = "" Then
Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).D elete
End If
Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!
Une astuce courante pour ce cas précis : utilise For nom3 = nombreligne To 2 Step -1 ce qui te permettra de partir du bas et de ne supprimer que les lignes souhaitées !
-- A+
V.
bonjour a tous je fais une boucle for each et je test dans une plage si un champ est v ide alors suprrime moi la ligne. Mais en suprimant une ligne avec delete, c omme la ligne disparait, c'est la ligne de dessous qui deviens celle supprim ée, et comme pour la boucle for each, a chaque fois, la boucle descend d'une l igne, quand il y a plusieurs champs vides, il y en a un qui reste vide! j'ai essayé avec for aussi mais ca n'a pas marché:
For Each nom3 In Workbooks("reporting_V4").Worksheets("baseStatut").Range("nom_projet2") r = nom3.Row If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & r) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(r).Dele te End If Next r
For nom3 = 2 To nombreligne If Workbooks("reporting_V4").Worksheets("baseStatut").Range("A" & nom3) = "" Then Workbooks("reporting_V4").Worksheets("baseStatut").Rows(nom3).D elete End If Next nom3
voilà si vous pouvez me donner un coup de main, merci d'avance!