VBA-Inserer ligne

Le
Pierre.M
Bonjour,

quelqu'un peut-il me donner un coup de main pour resoudre le probleme suivant ?

Dans un tableau, j'aimerais inserer automatiquement une ligne vierge en
dessous de chaque ligne incomplete (ou dont la derniere cellule/colonne
est vide).

Je suis arrive a bricoler un truc qui fonctionnerait peut-etre, le
probleme c'est que chaque fois que l'insertion se fait, j'ai de
nouvelles lignes incompletes et le processus boucle

Merci de vos conseils et bonne journee a tous.

Pierre.M
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21229041
Bonjour.

Sélectionne le tableau et essaie :

Sub test()
Dim c As Range, i As Long
With Selection
For i = .Rows.Count + .Row - 1 To .Row Step -1
Rows(i + 1).Insert
Next i
End With
End Sub

Cordialement.

Daniel

Bonjour,

quelqu'un peut-il me donner un coup de main pour resoudre le probleme suivant
?

Dans un tableau, j'aimerais inserer automatiquement une ligne vierge en
dessous de chaque ligne incomplete (ou dont la derniere cellule/colonne est
vide).

Je suis arrive a bricoler un truc qui fonctionnerait peut-etre, le probleme
c'est que chaque fois que l'insertion se fait, j'ai de nouvelles lignes
incompletes et le processus boucle...

Merci de vos conseils et bonne journee a tous.

Pierre.M


FFO
Le #21229211
Salut à toi

Ces lignes devraient convenir

Do While Range("A65535").End(xlUp).Offset(-i, 0).Row > 1
If Range("A65535").End(xlUp).Offset(-i, 0) = "" Then
Range("A65535").End(xlUp).Offset(-i + 1, 0).Insert (xlShiftDown)
i = i + 1
End If
i = i + 1
Loop

Dis moi !!!!!
Pierre.M
Le #21230701
Merci pour ton aide, mais ça ne fait pas ce dont j'aurais besoin.
Désolé pour le dérangement...
En fait ta macro intercalle une ligne vierge entre toutes les lignes de
mon tableau.
Et comme je ne la comprends pas, je ne peux pas l'adapter si necessaire.

Je me suis peut-être mal fait comprendre.
Moi ce qu'il me faudrait c'est une ligne vierge seulement après les
lignes non completement remplies.
Disons un tableau de 10 colonnes
1ere ligne 10 cellules avec des donnees
2eme ligne 10 cellules avec des donnees
3eme ligne donnees seulement dans les 3 premieres cellules
4eme ligne 10 cellules avec des donnees
etc ...
Il faudrait rajouter une ligne vierge entre la 3eme et la 4eme ligne,
soit après une ligne incomplete.

Merci quand même pour le coup de main.

Pierre.M





On 2010-02-19 10:10:25 +0100, Daniel.C
Bonjour.

Sélectionne le tableau et essaie :

Sub test()
Dim c As Range, i As Long
With Selection
For i = .Rows.Count + .Row - 1 To .Row Step -1
Rows(i + 1).Insert
Next i
End With
End Sub

Cordialement.

Daniel

Bonjour,

quelqu'un peut-il me donner un coup de main pour resoudre le probleme suivant ?

Dans un tableau, j'aimerais inserer automatiquement une ligne vierge en
dessous de chaque ligne incomplete (ou dont la derniere cellule/colonne
est vide).

Je suis arrive a bricoler un truc qui fonctionnerait peut-etre, le
probleme c'est que chaque fois que l'insertion se fait, j'ai de
nouvelles lignes incompletes et le processus boucle...

Merci de vos conseils et bonne journee a tous.

Pierre.M




Pierre.M
Le #21230691
Merci a toi aussi pour ton aide.
Helas, pas plus de résultats.
La macro ne modifie rien du tout dans mon tableau.
Pour plus d'explications sur ma question (si necessaire) regarde la
reponse que je viens de faire a Daniel.
Merci encore.

Pierre.M





On 2010-02-19 10:56:02 +0100, FFO
Salut à toi

Ces lignes devraient convenir

Do While Range("A65535").End(xlUp).Offset(-i, 0).Row > 1
If Range("A65535").End(xlUp).Offset(-i, 0) = "" Then
Range("A65535").End(xlUp).Offset(-i + 1, 0).Insert (xlShiftDown)
i = i + 1
End If
i = i + 1
Loop

Dis moi !!!!!


Daniel.C
Le #21230861
Pour une plage A1:En :

Sub test()
Dim c As Range
Set c = [A1]
Do While c <> ""
If c.Offset(, 4) = "" Then
Rows(c.Row + 1).Insert
Set c = c.Offset(1)
End If
Set c = c.Offset(1)
Loop
End Sub


Merci pour ton aide, mais ça ne fait pas ce dont j'aurais besoin.
Désolé pour le dérangement...
En fait ta macro intercalle une ligne vierge entre toutes les lignes de mon
tableau.
Et comme je ne la comprends pas, je ne peux pas l'adapter si necessaire.

Je me suis peut-être mal fait comprendre.
Moi ce qu'il me faudrait c'est une ligne vierge seulement après les lignes
non completement remplies.
Disons un tableau de 10 colonnes
1ere ligne 10 cellules avec des donnees
2eme ligne 10 cellules avec des donnees
3eme ligne donnees seulement dans les 3 premieres cellules
4eme ligne 10 cellules avec des donnees
etc ...
Il faudrait rajouter une ligne vierge entre la 3eme et la 4eme ligne, soit
après une ligne incomplete.

Merci quand même pour le coup de main.

Pierre.M





On 2010-02-19 10:10:25 +0100, Daniel.C
Bonjour.

Sélectionne le tableau et essaie :

Sub test()
Dim c As Range, i As Long
With Selection
For i = .Rows.Count + .Row - 1 To .Row Step -1
Rows(i + 1).Insert
Next i
End With
End Sub

Cordialement.

Daniel

Bonjour,

quelqu'un peut-il me donner un coup de main pour resoudre le probleme
suivant ?

Dans un tableau, j'aimerais inserer automatiquement une ligne vierge en
dessous de chaque ligne incomplete (ou dont la derniere cellule/colonne
est vide).

Je suis arrive a bricoler un truc qui fonctionnerait peut-etre, le
probleme c'est que chaque fois que l'insertion se fait, j'ai de nouvelles
lignes incompletes et le processus boucle...

Merci de vos conseils et bonne journee a tous.

Pierre.M






Pierre.M
Le #21230951
Génial, c'est ce qu'il me fallait !
En plus je la comprends celle-ci... sauf le second "Set c=c.offset(1)".
Pourquoi est-il là ?

Merci beaucoup et bon WE.

Pierre.M





On 2010-02-19 15:47:52 +0100, Daniel.C
Pour une plage A1:En :

Sub test()
Dim c As Range
Set c = [A1]
Do While c <> ""
If c.Offset(, 4) = "" Then
Rows(c.Row + 1).Insert
Set c = c.Offset(1)
End If
Set c = c.Offset(1)
Loop
End Sub


Merci pour ton aide, mais ça ne fait pas ce dont j'aurais besoin.
Désolé pour le dérangement...
En fait ta macro intercalle une ligne vierge entre toutes les lignes de
mon tableau.
Et comme je ne la comprends pas, je ne peux pas l'adapter si necessaire.

Je me suis peut-être mal fait comprendre.
Moi ce qu'il me faudrait c'est une ligne vierge seulement après les
lignes non completement remplies.
Disons un tableau de 10 colonnes
1ere ligne 10 cellules avec des donnees
2eme ligne 10 cellules avec des donnees
3eme ligne donnees seulement dans les 3 premieres cellules
4eme ligne 10 cellules avec des donnees
etc ...
Il faudrait rajouter une ligne vierge entre la 3eme et la 4eme ligne,
soit après une ligne incomplete.

Merci quand même pour le coup de main.

Pierre.M





On 2010-02-19 10:10:25 +0100, Daniel.C
Bonjour.

Sélectionne le tableau et essaie :

Sub test()
Dim c As Range, i As Long
With Selection
For i = .Rows.Count + .Row - 1 To .Row Step -1
Rows(i + 1).Insert
Next i
End With
End Sub

Cordialement.

Daniel

Bonjour,

quelqu'un peut-il me donner un coup de main pour resoudre le probleme suivant ?

Dans un tableau, j'aimerais inserer automatiquement une ligne vierge en
dessous de chaque ligne incomplete (ou dont la derniere cellule/colonne
est vide).

Je suis arrive a bricoler un truc qui fonctionnerait peut-etre, le
probleme c'est que chaque fois que l'insertion se fait, j'ai de
nouvelles lignes incompletes et le processus boucle...

Merci de vos conseils et bonne journee a tous.

Pierre.M








Publicité
Poster une réponse
Anonyme