Insertion

Bonjour,

Je travaille sur un grand jeu de donnée. Une ligne correspond à une personne, j'ai donc un tableau avec 1000 lignes soit 1000 individus.

J'aimerai savoir comment je peux intégrer 3 lignes supplémentaires pour chaque individu ?? je sais pas si je suis clair, en gros, c'est pour m'éviter de faire insertion de ligne (fois 3 pour chaque personne) sur 1000 lignes !!!

merci d'avance

Greg

Bonjour,

un petit code en VBA

Sub InsereDeuxLigne()
    Sheets("Feuil1").Activate
    'Le début de ton tableau
    Range("A1").Select
    'Répete l'opération 1000 fois
    For i = 1 To 1000
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Insert
        ActiveCell.Insert
        ActiveCell.Offset(2, 0).Select
    Next i
End Sub

Bonjour à tous,

Petite critique : Math ta macro sera excessivement lente, même avec un Application.ScreenUpdating=False. Voici une macro équivalente qui passe par un tableau intermédiaire et qui est quasi-instantanée :

Sub InsereDeuxLigneBis()
Dim i As Integer, tablo, derlign As Integer
    derlign = [A65536].End(xlUp).Row * 3
    ReDim tablo(1 To derlign, 0)
    For i = 1 To derlign / 3
        tablo(i * 3, 0) = Cells(i + 1, 1)
    Next i
    Range("A2:A" & derlign).Value = tablo
End Sub

Bonsoir à tous,

Sub insert3Lignes()
Dim Lg%, i%
''Macros par Claude Dubois pour "greg973" E-P le 26/01/10
    Lg = Range("A65536").End(xlUp).Row
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
        For i = Lg To 2 Step -1
            Range(Rows(i), Rows(i + 2)).EntireRow.Insert
        Next i
End Sub

amicalement

Claude

à dire vrai, j'ai testé la macro avec 10 ligne, du coup c'était assez rapide. C'est une bonne idée de passé par un tabeau, par contre au lieu de

i = 0 to 650

tu devrais plutot avoir

i = 1 To derlign / 3

si tu veux traiter toutes les lignes

amicalement

bonne soirée

Math a écrit :

par contre au lieu de

i = 0 to 650

tu devrais plutot avoir

i = 1 To derlign / 3

si tu veux traiter toutes les lignes

Effectivement ! J'avais fait un test sur 650 lignes. Petit oubli

re,

je joins le fichier,

remarque:

quand on supprime ou insère des lignes, il est préférable de commencer

la boucle par le bas

Claude

20greg973.zip (11.49 Ko)

Un grand merci messieurs ! Très efficace

Bon fin de journée

Greg

Comme tu es nouveau, essaye de prendre le bon réflexe pour solder un poste

a resolu2
Rechercher des sujets similaires à "insertion"