IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Insertion et copie de Nb lignes en fonction d'un nombre [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre expérimenté Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Points : 1 482
    Points
    1 482
    Par défaut Insertion et copie de Nb lignes en fonction d'un nombre
    Bonjour
    J'ai un fichier de plus de 20 000 lignes dont la colonne I comporte des nombres de 1 à 30, je souhaiterais qu'en fonction de ses nombres, à chaque fois qu'il est supérieur à 1, par exemple 2, qu'il inserre une ligne, qu'il copie la ligne, et qu'il colle son contenu dans la nouvelle ligne.
    Je l'ai fait avec l'éditeur pour la ligne A3 dont la cellule de la colonne I avait le nombre 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro1()
        Range("A4").Select
        Selection.EntireRow.Insert
        Range("A3:J3").Select
        Selection.Copy
        Range("A4").Select
        ActiveSheet.Paste
    End Sub
    Merci pour vos conseils

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub Insert()
    Dim LastLig As Long, i As Long
    Dim nb As Variant
     
     
    Application.ScreenUpdating = False
    With Sheets("Feuil1")
        LastLig = .Cells(.Rows.Count, "I").End(xlUp).Row
        For i = LastLig To 2 Step -1
            nb = .Range("I" & i).Value
            If IsNumeric(nb) Then
                If nb > 1 Then
                    .Rows(i).Copy
                    .Rows(i & ":" & i + nb - 2).Insert
                    Application.CutCopyMode = False
                End If
            End If
        Next i
    End With
    End Sub
    Attention quand même au nombre de lignes maximal d'excel 2003 (65356!)

  3. #3
    Membre expérimenté Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Points : 1 482
    Points
    1 482
    Par défaut
    Bonjour Mercatog, le forum
    Encore une fois je suis en admiration devant tes codes, le fichier passe de 11 700 lignes à 27 150 lignes en quelques secondes, je pensais que cette procédure serait longue, il n'en n'est rien, tout est parfait, j'ai passé des heures à chercher des bouts de code, c'est trop beau...

    J'ai trouvé une jolie citation cet après-midi sur le forum "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)

    MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Afficher des lignes en fonction d'un nombre
    Par sandra24 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/01/2015, 09h57
  2. Insertion auto de lignes en fonction d'un critère
    Par lucky32 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/08/2012, 01h02
  3. [XL-2010] Optimiser VBA insertion et copie de lignes
    Par DeejayGD dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/05/2012, 18h30
  4. [XL-2007] Copie de ligne en fonction de couleur de cellule dans d'autre feuille
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 30/09/2011, 08h43
  5. [XL-2000] inserer un Nb de ligne en fonction d'un nombre de cellules pleines
    Par yoyo3d dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/05/2010, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo