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 -
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!
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
-
Bonjour,
Utilises un tableau structuré et la commande Ctrl + Plus
https://fauconnier.developpez.com/tutoriels/tableaux-structures/
-
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 -
-
-
-
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
-