Comment inserer 3 lignes automatiquement ?

david2reims

XLDnaute Nouveau
Bonjour à tous,

Pouvez-vous me dire comment je peux insérer 3 lignes automatiquement à partir de l'adresse (a12) d'une cellule?
J'ai consulter le site, mais je ne trouve pas mon bonheur.

Merci de votre aide.:)
 

david2reims

XLDnaute Nouveau
Re : Comment inserer 3 lignes automatiquement ?

Bonjour, merci pour vos contributions, j'ai juste oublié de vous dire que j'ai des données à partir de la ligne A12 et que je souhaite insérer trois lignes entre chacune d'elles.

Exemple Avant :

Ligne 1
Ligne 2
Ligne 3


Exemple Après :

Ligne 1



Ligne 2


Ligne 3


Pouvez-vous m'aider encore? Si oui, merci d'avance.
 

d.ryba

XLDnaute Junior
Re : Comment inserer 3 lignes automatiquement ?

Bonsoir tout le monde


Je te propose une formule de décalage ^^
Code:
Sub decalage()
Dim i, j  'declaration des variables
    i = 13 
While Range("A" & i) <> ""   ' while fonctionne comme une boucle, si A13 différent de rien
    Range("A" & i).Select    ' selectionne A13 
    Rows(i & ":" & i + 2).Insert Shift:=xlDown  ' selectionne les lignes A13:A15 et insere des lignes vers le bas
    Range("A" & i + 3).Select  'selectionne A16 (prochaine ligne non-vide théoriquement)
    j = WorksheetFunction.CountIf(Range(Selection, Selection.End(xlDown)), "<>") ' compte depuis A16 jusqu'à la derniere cellule différente de rien
    
     If j >= 1 Then  'si c'est supérieur ou égale à 1, donc encore des lignes écrites
         i = i + 4    ' le i =13 du début passe en 17
     Else ' si < 1 ou égale à 0
         Exit Sub  ' sortir de la macro
     End If 
Wend  'on reprend au début du 'While avec la nouvelle valeur de i
End Sub


En espérant que ça t'aide.
 
Dernière édition:

d.ryba

XLDnaute Junior
Re : Comment inserer 3 lignes automatiquement ?

j'ai ajouter les commentaires dans le code pour ne pas alourdir le post, alors qu'une simple édition suffit.

Si ce n'est pas clair, n'hésite pas. il est vrai qu'il est plus facile d'écrire du code que l'on connait que de l'expliquer ^^

Par contre le code ne gère pas les cellules vides,, il faut impérativement que dans ton fichier original, à partir de A12 jusqu'à la dernière cellule, il n'y ai pas de cellule vide.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Comment inserer 3 lignes automatiquement ?

Bonsoir


A tester si j'ai bien compris


Code:
Sub insert_trois()
Dim i As Long
For i = [A65536].End(xlUp).Row To 12 Step -1
Cells(i, 1).Offset(1, 0).EntireRow.insert
Cells(i + 1, 1).Offset(1, 0).EntireRow.insert
Next
End Sub
 

david2reims

XLDnaute Nouveau
Re : Comment inserer 3 lignes automatiquement ?

d.ryba, Staple1600, merci beaucoup de votre aide. Pour ce qui est des lignes vides, c'est tant mieux. Comme ça la macro va s'arrêter dès qu'il n'y aura plus de ligne à séparer. Ça ira plus vite. Merci encore de votre aide.

:D:D:D:D:D:D:D:D:D:D:D:D
 

Discussions similaires

Réponses
1
Affichages
152
Compte Supprimé 979
C
Réponses
10
Affichages
566
Réponses
8
Affichages
298