Comment recopier une cellule un nombre de fois donné

Résolu
albelo -  
cvasse Messages postés 20 Statut Membre -
Bonjour,

dans un premier onglet j'ai une référence en colonne A, une couleur en colonne B et une quantité en colonne C.

Je cherche à copier les cellules référence et couleur dans un deuxième onglet de la quantité déterminée. Exemple si prod A123 bleu en quantité 55, alors dans le deuxième onglet il y aura 55 lignes avec A123 et bleu de recopier.

Auriez vous une solution ?

Merci de votre aide

1 réponse

  1. cvasse Messages postés 20 Statut Membre
     
    Bonjour,

    je ne suis pas certain d'avoir tout compris mais avec

    For i = 1 to range("An").value
    sheets("Feuil2").range(....) = ...
    Next

    je pense que cela devrait fonctionner.
    0
    1. albelo
       
      merci pour votre aide, à quel endroit je doit insérer votre formule?
      0
    2. cvasse Messages postés 20 Statut Membre > albelo
       
      Le plus simple serait de faire une macro que tu appelles avec un bouton.
      0
    3. albelo
       
      oula je suis débutant pour être honnête, je ne sais pas comment m'y prendre
      0
    4. cvasse Messages postés 20 Statut Membre > albelo
       
      Pour créer la macro, tu appuies sur les touches ALT et F11

      Tu clique sur Insertion puis sur Module.

      Un écran s'affiche sur lequel tu peux saisir ta macro.

      Tu recopie ce code :

      Sub macro()
      'Récupération de la ligne à traiter
      ligne = Range("H1").Value

      'Récupération de la ligne de départ où insérer la copie
      If Sheets("feuil2").Range("A1") = "" Then
      j = 1
      Else
      j = Sheets("feuil2").Range("A1").End(xlDown).Row + 1
      End If

      'Boucle de recopie
      For i = 1 To Cells(ligne, 3)
      Sheets("feuil2").Cells(j, 1).Value = Sheets("feuil1").Cells(ligne, 1)
      Sheets("feuil2").Cells(j, 2).Value = Sheets("feuil1").Cells(ligne, 2)
      j = j + 1
      Next
      End Sub

      ATTENTION, je pars du principe que tu copie toutes tes lignes dans le même onglet (qui s'appelle ici feuil2) les unes à la suite des autres.
      Dans l'onglet où tu as tes lignes à copier, j'ai mis en cellule H1 la ligne que je souhaite prendre en compte. Si tu saisi 3 dans cette cellule, c'est la référence et la couleur de la ligne 3 qui seront copiés.

      Une fois le code saisi, tu quitte l'écran en cliquant sur la croix rouge.

      Tu peux alors créer ton bouton.

      Pour celà, tu vas dans l'option développeur. Si tu ne l'as pas, tu peux la rajouter en allant dans le menu FIchier puis option puis personnaliser le ruban. Tu peux alors cocher Développeur dans la liste à droite.

      Dans l'option développeur, tu clique alors sur insérer puis sur le rectangle dans contrôle de formulaire.

      Tu places alors le bouton dans ta feuille excel. Tu fais ensuite un clic droit sur le bouton. Dans la liste qui s'affiche tu choisis Affecter une macro. Il ne te reste plus qu'à choisir la macro.

      Bon courage.

      Christian
      0
    5. albelo
       
      Merci beaucoup Christian pour votre aide. J'ai suivi la procédure que vous m'avez indiqué. Par contre au moment d'affecter la macro j'ai un message d'erreur; Quand je clique sur débogage, la partie suivante du code et en jaune :
      If Sheets("feuil2").Range("A1") = "" Then

      Savez-vous comment résoudre ce problème ?
      0