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

Fermé
Sebro - 16 janv. 2019 à 12:43
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 17 janv. 2019 à 09:32
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!
A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
16 janv. 2019 à 13:19
Bonjour,

Utilises un tableau structuré et la commande Ctrl + Plus
https://fauconnier.developpez.com/tutoriels/tableaux-structures/
0
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
16 janv. 2019 à 15:37
Où est le problème ?

Il suffit de sélectionner 33 lignes et de faire Ctrl + Plus
0
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 16 janv. 2019 à 23:19
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
16 janv. 2019 à 23:55
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