Crée une boucle

abtony

XLDnaute Impliqué
Bonjour,
comment crée une boucle sur ce code .

Sub SuppressionLignesVierges()
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Offset(-9, 0).Range("A1").Select
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Rows("1:9").EntireRow.Select
Selection.Delete Shift:=xlUp
Selection.FindNext(After:=ActiveCell).Activate
End Sub


merci pour les réponses
 

Staple1600

XLDnaute Barbatruc
Re : Crée une boucle

Bonjour



Pour supprimer des lignes vides
Code:
Sub supprimeLIGNEVIDE_COL_A()
On Error Resume Next
Range("A1:A" & [A65536].End(xlUp).Row).EntireRow.SpecialCells(xlBlanks).EntireRow.Delete
On Error GoTo 0
End Sub
ou celle-là
Code:
Sub supp_ligne()
'auteur: bhbh
    Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
 
Dernière édition:

Oeil2Lynx

XLDnaute Nouveau
Re : Crée une boucle

Bonjour,


il faudrait que tu explique un peu plus ce que tu cherches à faire.
si je me fie au nom de ta macro la supression de ligne serait plus simple avec ça:

Selection.SpecialCells(xlCellTypeBlanks).Select 'sélection des cellules vides d'un plage de cellule déjà sélectionné
Selection.EntireRow.Delete 'suppression des lignes entières.
 

abtony

XLDnaute Impliqué
Re : Crée une boucle

Re et merci pour la réponse
a chaque ligne vide trouvé, je dois sélectionner 6 lignes en dessous et les supprimer et cela uniquement sur la colonne A et ce sur toute les lignes de la feuille de calcul, mon code en haut est bon mais il faudrait qu'il tourne en boucle jusqu'à ce qu'il y ait plus de lignes vides.
et toujours en sélectionnant six lignes en dessous bien sur !
merci
 
Dernière édition:

abtony

XLDnaute Impliqué
Re : Crée une boucle

voila j'ai pu simplifier un peu le code il sélectionne bien le nombres de lignes a supprimer après la cellule vide.
j'ai besoin que ce code tourne en boucle sur toute la feuille de calcul jusqu'à la dernière ligne vide


Sub SuppressionLignesVierges()
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Rows("1:8").EntireRow.Delete
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Crée une boucle

Re


A tester sur une COPIE de ton fichier
Code:
Sub SUPPRIM_SIX_LIGNES()
Dim i As Integer
For i = [A65536].End(xlUp).Row To 1 Step -1
If IsEmpty(Range("A" & i)) Then Range("A" & i).Resize(6, 1).EntireRow.Delete
Next
End Sub

A+ pour tes commentaires
 

abtony

XLDnaute Impliqué
Re : Crée une boucle

bonsoir staple1600 ton code m'efface toute la feuille lol

ceci fonctionne bien en boucle mais je dois arreter la commande avec la touche echap c'est deja mieux que rien !

je joint mon fichier les lignes grisés sont a supprimer avec la macro

Sub SuppressionLignesVierges()
Range("A4:A1500").Select
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Rows("1:8").EntireRow.Delete
SuppressionLignesVierges
End Sub
 

Pièces jointes

  • bordereau02.zip
    32.9 KB · Affichages: 23
  • bordereau02.zip
    32.9 KB · Affichages: 18
  • bordereau02.zip
    32.9 KB · Affichages: 23

Staple1600

XLDnaute Barbatruc
Re : Crée une boucle

Re


J'ai testé ma macro sur une colonne A1:A41
avec une case vide toutes les six cellules

avec A1=1 A2=2 ...A6=6 , A7 =vide , A41=41

Aprés éxécution ne reste plus que les cellules A1:A11
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Crée une boucle

bonsoir a tous

Atester:

Code:
Sub test()
Application.ScreenUpdating = False
For n = Range("A65536").End(xlUp).Row To 1 Step -1
  If Range("A" & n) = "" Then
  Rows(n & ":" & n + 5).Delete
  End If
Next n
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • bordereau02.zip
    35.1 KB · Affichages: 25
  • bordereau02.zip
    35.1 KB · Affichages: 28
  • bordereau02.zip
    35.1 KB · Affichages: 30

Cousinhub

XLDnaute Barbatruc
Re : Crée une boucle

Re-,
staple, quand tu regarde son fichier, la 1ère cellule vide se trouve sous le titre code (cellules fusionnées), donc le resize ne "resize" pas bien, il faut se décaler de 8 lignes vers le haut, et redimensionner de 9 lignes vers le bas, puis supprimer
enfin, je crois..:)
 

Discussions similaires

Réponses
2
Affichages
150

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji