insertion de lignes vides

Toutou

XLDnaute Occasionnel
Bonjour et bonne semaine à tous,

J'ai créée une maccro qui insère des lignes vides entre des lignes contenant des infos mais quand je la lance, la macro insère des lignes à l'infini sans s'arréter alors que je voudrais qu'une seule ligne s'insère puis qu'on passe à la suivante:

Dim vide as range
For Each vide In Range('B4:B' & Range('B65536').End(xlUp).Row)
If vide <> '' Then
vide.Entirerow.Select
Selection.Insert Shift:=xlDown

End If
Next vide
End If
 

Abel

XLDnaute Accro
Bonjour Toutou,

C'est normal.

Le code que tu nous as transmis va chercher la première cellule non vide de la colonne 'B' en partant depuis le bas de la feuille (ligne 65536).
Lorsqu'il trouve cette cellule non vide, il la teste et constate qu'elle est donc .... non vide.
Cela rempli la condition placée juste après le 'Range('B4:B' & Range('B65536').End(xlUp).Row)'
Le résultat du test (if vide<>'' ...) va forcément être vrai puisque le '...end(xlup)' s'est placé sur une cellule non vide.

Lorsque le résultat est vrai, la macro exécute ce qu'on lui demande et passe au suivant (next).
Rebelote et pas dix de der. On tourne en rond. D'où exécution à l'infini.

Si j'ai bien compris, tu cherches à obtenir un tableau avec une ligne sur deux qui soit vide.
Essaie ceci :
Code:
Sub InsertLigneVide()
For i = Range('b65536').End(xlUp).Row To 2 Step -1
Range('b' & i).EntireRow.Insert Shift:=xlDown
Next i
End Sub

Abel.

Message édité par: Abel, à: 07/11/2005 13:50
 

Discussions similaires

Réponses
3
Affichages
525

Statistiques des forums

Discussions
312 304
Messages
2 087 062
Membres
103 449
dernier inscrit
pulco41