Comment ajouter un nombre X de lignes après chaque ligne

Sebro -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un fichier excel reprenant une liste de magasin en colonne A.
Pour chaque magasin je voudrais ajouter une série de données en colonne B.
Pour ce faire, je voudrais rajouter un nombre de ligne entre le magasin a en cellule A1 et le magasin b en cellule A2.
L'ajout des lignes se ferait avant l'ajout des données en colonne B.

Comment puis-je réaliser cela?

Merci d'avance pour votre aide si précieuse!

1 réponse

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    Utilises un tableau structuré et la commande Ctrl + Plus
    https://fauconnier.developpez.com/tutoriels/tableaux-structures/
    0
    1. Sebro
       
      Merci malheureusement c'est ce que je fais actuellement mais la liste se compose de 300 magasins entre lesquels je dois rajouter (dans différentes sheets) un nombre de lignes qui diffère d'une sheet à l'autre.
      Par exemple sheet 1 : je dois rajouter 33 lignes entre le magasin A et le magasin B. Et donc magasin B doit passer de la cellule A2 à la cellule A35 et ainsi de suite pour les 300 magasins
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Où est le problème ?

      Il suffit de sélectionner 33 lignes et de faire Ctrl + Plus
      0
    3. Sebro
       
      Le problème est que je dois le faire 300 fois sur la première sheet et que je dois répéter l'opération sur plus d'une vingtaine de sheets... Donc je voudrais gagner du temps...
      0
    4. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      le nombre de lignes (=33) est-il toujours le même ?
      Après insertion des 33 lignes, les 33 cellules de la colonne A resteront-elles vides ?
      0
    5. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Si les 2 réponses sont oui :
      Option Explicit
      Sub InsereLignesVides()
      Dim wsh As Worksheet, dL&, pL&, nb%
        nb = 33
        Set wsh = ActiveSheet  'Ou autre
        With wsh
          dL = .Cells(.Rows.Count, 1).End(xlUp).Row
          Application.ScreenUpdating = False
          Do While dL > 2
            If .Cells(dL - 1, 1).Formula = "" Then
              pL = dL - .Cells(dL, 1).End(xlUp).Row - 1
              If nb - pL > 0 Then
                Rows(dL).Resize(nb - pL).Insert Shift:=xlDown
              End If
              dL = dL - pL
            Else
              Rows(dL).Resize(nb).Insert Shift:=xlDown
            End If
            dL = dL - 1
          Loop
          Application.ScreenUpdating = True
        End With
      End Sub
      
      Sub SupprimeLignesVides()
      Dim wsh As Worksheet, dL&
        Set wsh = ActiveSheet  'Ou autre
        Application.ScreenUpdating = False
        With wsh
          dL = .Cells(.Rows.Count, 1).End(xlUp).Row
          Do While dL > 1
            If .Cells(dL, 1).Formula = "" Then
              .Cells(dL, 1).EntireRow.Delete
            End If
            dL = dL - 1
          Loop
        End With
        Application.ScreenUpdating = True
      End Sub
      0