Insertion de lignes

Résolu

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

  • Votes
  • Date
  • Date décroissante
  1. 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. 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


      1. 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

        1. 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