Afficher x fois la valeur d'une cellule en fonction de x

Bonjour,

J'essaye de faire la chose suivante, via une macro je suppose ?

Dans la feuille 1, j'ai 2 colonnes:

  • colonne A: nom d'un produit (chemise)
  • colonne B: nombre de déclinaisons du produit (par exemple 3 pour 3 couleurs différentes)

Dans la feuille 2, je souhaiterai que dans la colonne A, le nom des produits soit répétés autant de fois qu'il a de couleurs.

En gros, si dans la feuille 1, j'ai "chemise" dans la colonne A et "3" dans la colonne B, alors j'aimerai avoir sur la feuille 2 le mot "chemise" répété 3 fois sur 3 lignes différentes:

chemise

chemise

chemise

Il faudrait que la marco s'exécute pour toutes les lignes renseignées dans les colonnes A et B de la feuille 1.

Est-ce que quelqu'un pourrait m'aider ?

Merci.

Bonjour

Un essai à tester. Te convient-il ?

Bye !

33essai-v1.xlsm (14.82 Ko)

Bonjour,

Oui exactement ce que je cherchais, merci !

Bon après je dois bien avouer que le code est un mystère pour moi

Option Explicit

Dim ln, lgn

Private Sub Worksheet_Activate()
    With Sheets("Feuil1")
    Range("A:A").ClearContents
    For ln = 2 To .Range("A" & Rows.Count).End(xlUp).Row
            lgn = Range("A" & Rows.Count).End(xlUp)(2).Row
            Range("A" & lgn & ":A" & lgn + .Range("B" & ln) - 1) = .Range("A" & ln)
        Next ln
    End With
End Sub

Sais-tu s'il y a un moyen "simple" pour générer ce type de code, ou il faut tout faire manuellement ?

Merci.

Bonjour, une autre façon d'obtenir le même résultat.

Sub recopie()
    Dim dl&, i%, nb%
    i = 2
    While Feuil1.Range("a" & i) <> ""
        dl = Feuil2.Range("a" & Rows.Count).End(xlUp).Row
        nb = Feuil1.Range("b" & i)
        Feuil2.Range("a" & dl + 1).Resize(nb) = Feuil1.Range("a" & i)
        i = i + 1
    Wend
End Sub

P.S : Je ne sais pas s'il existe un logiciel pour générer automatiquement des lignes de code.

Bonjour Jkr (et gmb et Machin et les autres)

gmb et machin ont été plus rapide que moi... (mais il n'y a pas de concours, suis-je bête)

je te propose tout de même 2 autres versions

une 1ère en utilisant les tableaux

une 2ème en copiant de façon "brute" les cellules

Bonjour @ tous,

par formule.

Voir PJ

32jkr.xlsx (10.38 Ko)

@ + +

Rechercher des sujets similaires à "afficher fois valeur fonction"