(Formules seulement) Transformer un chiffre en nb. de cellules

Olivier Myre -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Comment faire dans Excel pour passer de la situation X à la situation Y suivante, à l'aide de formules seulement?:
Situation X: J'ai la cellule A1 qui indique 4 et la cellule B1 qui indique 7. J'ai la cellule A2 qui indique 3 et la cellule B2 qui indique 5.
Situation Y: J'ai les cellules D1 à D4 qui indiquent 7 et D5 à D7 qui indiquent 5.
Et ainsi de suite... Bref passer de la colonne A (nb de répétitions) et B (chiffre à répéter) à une colonne unique (D) qui répète le nombre de fois ce que je veux?
Merci d'avance.

A voir également:

5 réponses

Raymond PENTIER Messages postés 58989 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
et on doit obtenir quoi, en colonne D ? ton exposé manque de clarté ...

"Transformer un chiffre en nb. de cellules" et "une colonne unique (D) qui répète le nombre de fois ce que je veux" ce n'est pas la même chose !

C'est bien, la retraite ! Surtout aux Antilles ... :-) 
Raymond (INSA, AFPA, CF/R)
0
Olivier Myre
 
En colonne D: 7,7,7,7,5,5,5

Mais maintenant je cherche à automatiser le tout pour que mon tableau qui fait 70 lignes se transforme en une seule colonne de 800 lignes! :)
0
Olivier Myre
 
Exemple tiré de mon tableau... Voici 4 lignes des 70 à traiter:
10 57501000011
12 57501000021
6 57501000022
2 57501000031

Résultat recherché:
57501000011
57501000011
57501000011
57501000011
57501000011
57501000011
57501000011
57501000011
57501000011
57501000011
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000021
57501000022
57501000022
57501000022
57501000022
57501000022
57501000022
57501000031
57501000031
...
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Une proposition avec une macro
Sub Repartir()
Dim DerLig As Long, LigneS As Long, LigneD As Long
Dim i As Integer
Dim N
DerLig = Range("A" & Rows.Count).End(xlUp).Row
LigneD = 1
For LigneS = 1 To DerLig
N = Range("A" & LigneS).Value
If IsNumeric(N) Then
If N > 0 Then
For i = 1 To Range("A" & LigneS).Value
Range("D" & LigneD) = Range("B" & LigneS)
LigneD = LigneD + 1
Next i
End If
End If
Next LigneS
End Sub

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
dans le modèle, joint,, une ,solution par formule à pazrtir de votre exemple

https://www.cjoint.com/c/FFqjnWNxELJ

crdlmnt
0