Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recopier "x" fois une valeur en fonction du contenu d'une cellule

2 réponses
Avatar
Fredo(67)
Bonjour,

Le problème :
Soit en colonne A, des codes (A-02; A-05; A-10; B-01; B-03...)
Les codes ne se suivent pas

Soit en colonne B, des prénoms (Roger, frédéric...)

Soit en colonne C, des chiffres multiplicateurs (1; 2; 3; 4; 5; ....)

Par exemple
A-03 - ROGER - 2
A-05 - FREDERIC - 5
A-10 - SERGE - 3

Je dois réussir Í  créer une liste qui écrirait Í  la suite ne nombre de fois les prénoms

résultat :
ROGER
ROGER
FREDERIC
FREDERIC
FREDERIC
FREDERIC
FREDERIC
SERGE
SERGE
SERGE...

Est-ce seulement possible ?

2 réponses

Avatar
MichD
Le 13/12/21 Í  09:11, Fredo(67) a écrit :
Bonjour,
Le problème :
Soit en colonne A, des codes (A-02; A-05; A-10; B-01; B-03...)
Les codes ne se suivent pas
Soit en colonne B, des prénoms (Roger, frédéric...)
Soit en colonne C, des chiffres multiplicateurs (1; 2; 3; 4; 5; ....)
Par exemple
A-03 - ROGER - 2
A-05 - FREDERIC - 5
A-10 - SERGE - 3
Je dois réussir Í  créer une liste qui écrirait Í  la suite ne nombre de fois les prénoms
résultat :
ROGER
ROGER
FREDERIC
FREDERIC
FREDERIC
FREDERIC
FREDERIC
SERGE
SERGE
SERGE...
Est-ce seulement possible ?

Bonjour,
Colonne B : Les noms
Colonne C : Nombre de fois que le nom doit être copié en Colonne D
Colonne D : Alignement des noms selon la fréquence en colonne C
Eien sͻr, il faut adapter le nom de la feuille et l'adresse de la
première cellule "B1" o͹ la liste des noms débute
'-----------------------------------
Sub test()
Dim Rg As Range, C As Range
Dim A As Long, X As Long
With Worksheets("Feuil1")
Set Rg = .Range("B1:B" & .Range("B" & .Rows.Count).End(xlUp).Row)
End With
For Each C In Rg
X = C.Offset(, 1)
A = A + 1
C(A).Offset(, 2).Resize(X) = C.Value
A = X + A - 2
Next
End Sub
'-----------------------------------
MichD
Avatar
Fredo(67)
Le lundi 13 décembre 2021 Í  18:09:34 UTC+1, MichD a écrit :
Le 13/12/21 Í  09:11, Fredo(67) a écrit :
Bonjour,
Le problème :
Soit en colonne A, des codes (A-02; A-05; A-10; B-01; B-03...)
Les codes ne se suivent pas
Soit en colonne B, des prénoms (Roger, frédéric...)
Soit en colonne C, des chiffres multiplicateurs (1; 2; 3; 4; 5; ....)
Par exemple
A-03 - ROGER - 2
A-05 - FREDERIC - 5
A-10 - SERGE - 3
Je dois réussir Í  créer une liste qui écrirait Í  la suite ne nombre de fois les prénoms
résultat :
ROGER
ROGER
FREDERIC
FREDERIC
FREDERIC
FREDERIC
FREDERIC
SERGE
SERGE
SERGE...
Est-ce seulement possible ?
Bonjour,
Colonne B : Les noms
Colonne C : Nombre de fois que le nom doit être copié en Colonne D
Colonne D : Alignement des noms selon la fréquence en colonne C
Eien sͻr, il faut adapter le nom de la feuille et l'adresse de la
première cellule "B1" o͹ la liste des noms débute
'-----------------------------------
Sub test()
Dim Rg As Range, C As Range
Dim A As Long, X As Long
With Worksheets("Feuil1")
Set Rg = .Range("B1:B" & .Range("B" & .Rows.Count).End(xlUp).Row)
End With
For Each C In Rg
X = C.Offset(, 1)
A = A + 1
C(A).Offset(, 2).Resize(X) = C.Value
A = X + A - 2
Next
End Sub
'-----------------------------------
MichD

Merci, ça fait le taf, et ça le fait super bien.
Petite question complémentaire :
Je ne vois pas bien o͹ tu détermines que les résultats doivent être "'posés" en colonne "D".