Insertion de lignes

Résolu
Guy72 Messages postés 973 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,
J'ai un feuille avec 289 lignes
En Colonne A, il y a la date avec les heures et les minutes.(toutes les 5 minutes)
Je souhaiterais insérer 4 lignes avant ces lignes
Comment je peux faire ?

Insérer
Windows / Edge 108.0.1462.54

6 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

Re,

par contre as tu des lignes vides dans ta colonne, si oui, le code actuel va ajouter dans certains cas une ligne supplémentaire.

je te conseille d'ajouter une boucle pour les compter et supprimer cette ligne, exemple de code

Sub ajout_ligne()
Dim i, b As Long
Application.ScreenUpdating = False
For b = 1 To 2
For i = Range("A65536").End(xlUp).Row To 2 Step -1
    If Cells(i, 1) <> "" And Cells(i - 1, 1) <> "" Then Cells(i, 1).Rows("1:4").EntireRow.Insert
If Cells(i, 1) <> "" And Application.CountBlank(Range(Cells(i + 1, 1), Cells(i + 5, 1))) > 4 Then Cells(i + 1, 1).EntireRow.Delete
Next i
Next b
Application.ScreenUpdating = True
End Sub

1
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

Bonjour,

par exemple sur ta première ligne tu as peut être des entêtes et tu veux insérer 4 lignes au dessous ce qui fera descendre d'autant les lignes existantes.

sélectionne 4 lignes soit la ligne 2, 3, 4 et 5 mais tu les sélectionnes en cliquant sur l'index des lignes 2, 3, 4 et 5

puis clic droit sur les index sélectionnés et Insérer 4 lignes seront insérées entre la ligne 1 et 2 déjà existante


0
Guy72
 

Oui d'accord pour ça, mais je ne peux pas continuer à insérer une deuxième fois de suite.

Par exemple ensuite après la ligne 9

il faut que j'arrive à insérer 4 lignes après chaque ligne ayant déjà une valeur.

Ce que ferait avoir une ligne pour chaque minute.

Soit 1450 lignes au lieu de 289

0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

Re,

Alors en VBA uniquement si tu as quelques notions

Sub ajout_ligne()
Dim i As Long
Application.ScreenUpdating = False
For i = Range("A65536").End(xlUp).Row To 2 Step -1
    If Cells(i, 1) <> "" And Cells(i - 1, 1) <> "" Then Rows(i & ":" & i + 3).Insert
Next i
Application.ScreenUpdating = True
End Sub

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guy72
 

D'accord, je vais regarder et je te tiens au courant

0
Guy72 Messages postés 973 Date d'inscription   Statut Membre Dernière intervention   20
 

impeccable  !!!

Merci

0