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 :

[VBA] Dupliquer les lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Par défaut [VBA] Dupliquer les lignes
    Bonjour

    Je voudrais dupliquer N lignes en dessous d'une ligne
    1) se positionner sur une ligne x ( là : je lis une valeur N )
    2 ) Inserer N lignes juste en dessous de la ligne x
    3 ) Copier toute la ligne x
    4 ) coller toute la ligne X sur les N lignes suivantes

    J'ai essayé mais j'ai des problemes au niveau de coller
    mon code le voici :

    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
    Sub dupliquerlignes2()
    '
    ' dupliquerlignes1 Macro
    ' Macro enregistrée le 05/10/2007 par toto
    '
    Dim x As Integer
    Dim lignes As Integer
    Dim debut As Integer
    debut = ActiveCell.EntireRow.Select
    lignes = InputBox("Nombre de lignes à dupliquer ?")
    MsgBox "Vous avez tapé : " & lignes
    ActiveCell.Offset(1, 0).Select
    For debut = 1 To lignes
           Selection.Insert Shift:=xlDown
           Activesheet.Paste
    Next debut
    End Sub

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    salut toto
    essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub dupliquerlignes2()
    Dim lignes As Integer
    Dim debut As Integer
    lignes = InputBox("Nombre de lignes à dupliquer ?")
    For debut = 1 To lignes
    With ActiveCell.EntireRow
    .Offset(debut, 0).Insert Shift:=xlDown
    .Copy Destination:=.Offset(debut, 0)
    End With
    Next debut
    End Sub
    bon dimanche

    ps: quelque remarques
    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
    21
    22
    23
     
    Sub dupliquerlignes2()
    Dim x As Integer   tu n'a pas de variable x dans ton code
    Dim lignes As Integer
    Dim debut As Integer
    debut = ActiveCell.EntireRow.Select  cette ligne ne veut rien dire puisque debut est un nombre
    lignes = InputBox("Nombre de lignes à dupliquer ?")
    MsgBox "Vous avez tapé : " & lignes ce message de confirmation ne sert a rien d'autre qu'a ralentir le déroulement puisque tu rappelle le nombre tapé mais en supposant que ce ne soit pas le bon chiffre, la macro se déroulera quand même, il n'y a pas d'anulation
    ActiveCell.Offset(1, 0).Select évite les select au maximum, il ne font que ralentir le code, il n'y a que quelques action comme le tri qui demande imperativement une selection
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234
     
    cells(1,1).select
    cells(1,1).copy
    est égal a cells(1,1).copy
    For debut = 1 To lignes Selection.Insert Shift:=xlDown ton probleme était là. tu n'a qu'une case de selectionnée et tu insere donc une cellule au lieux d'une ligne Activesheet.Paste Next debut End Sub

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Par défaut
    Mouais ! Ca marche !
    Merci

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

Discussions similaires

  1. VBA Traiter les lignes selectionnées (contigues et non contigues)
    Par 0uistyty dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/01/2012, 16h57
  2. [Vxi3] LiveOffice - Dupliquer les lignes
    Par jomphh dans le forum Deski
    Réponses: 3
    Dernier message: 21/12/2011, 16h00
  3. Réponses: 4
    Dernier message: 04/08/2009, 12h12
  4. Dupliquer les lignes d'une data. frame
    Par manoir dans le forum R
    Réponses: 2
    Dernier message: 09/07/2009, 18h25
  5. Dupliquer les lignes d'une table
    Par deutschy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/10/2007, 12h18

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