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 :

Comment copier puis coller x fois ? (x = valeur de la cellule) [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut Comment copier puis coller x fois ? (x = valeur de la cellule)
    Bonjour,

    Je suis en train de faire une macro qui effectuerait cette tache :

    * en sachant que dans la feuille 1 (et 2) se trouvent les en-têtes suivantes :

    QUANTITE | MONTANT | EVENEMENT | RAYON | DATE VALIDITE

    1) copier la première ligne de la feuille 1

    2) coller cette ligne dans la feuille 2 x fois

    x fois = valeur inscrite dans la cellule de la colonne "QUANTITE"


    Voilà ce que j'ai commencé à faire :

    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
     
    Sub copier_coller_x_fois()
    Application.ScreenUpdating = False
    Dim i As Integer
    Dim comp As Integer
    comp = 1
    For i = 2 To 627
    Sheets(1).Activate
    Rows(i).Copy
    Sheets(2).Activate
    Cells(comp + 1, 1).Select
    ActiveSheet.Paste
    comp = comp + 1
    Next i
    Application.ScreenUpdating = True
    End Sub
    Le soucis, c'est qu'il me manque le code qui va permettre de lire la valeur inscrite dans la cellule, et ainsi répéter tant de fois le collage

    Merci par avance pour votre aide !!

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Pour lire la valeur d'une cellule

    ici A1
    En mettant dans une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i=2 to Range("A1").value
    'Coller
     
    Next i

  3. #3
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut
    Bonjour,

    Merci !!

    Voici la macro fonctionnelle :

    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 z_Copier_coller_xfois_une_ligne()
    ' la Feuil1 comporte les lignes à copier, et la colonne A le nombre de fois du copier coller
    ' la Feuil2 est la feuille de travail
    Application.ScreenUpdating = False
    Dim sh1 As Worksheet, sh2 As Worksheet
    Dim lig As Long, cellule As Variant
    Set sh1 = Worksheets("Feuil1")
    Set sh2 = Worksheets("Feuil2")
    For Each cellule In Range("A2:A65536")
    If cellule.Value > 0 Then
    For i = 1 To cellule.Value
    lig = sh2.[A65536].End(xlUp).Row + 1
    sh2.Rows(lig) = cellule.EntireRow.Value
    Next i
    End If
    Next cellule
    Application.ScreenUpdating = True
    sh2.Select
    MsgBox "Traitement fini"
    End Sub

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

Discussions similaires

  1. [PPT-2013] Copier puis coller en valeurs les données des graphiques
    Par Le_Nuss dans le forum Powerpoint
    Réponses: 12
    Dernier message: 03/03/2015, 09h58
  2. Comment copier et coller un VLookup
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/12/2014, 14h43
  3. [PPT-2010] Copier puis coller avec liaison un graphique Excel 2010
    Par Daejung dans le forum Powerpoint
    Réponses: 1
    Dernier message: 13/03/2012, 00h05
  4. [XL-2003] Comment copier puis renommer un onglet dans un même classeur ?
    Par [ZiP] dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/04/2010, 17h45
  5. Réponses: 2
    Dernier message: 12/06/2007, 14h31

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