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

même chiffre répété sur plusieurs ligne en fonction d'un nombre do

7 réponses
Avatar
Nicoh
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex :

Le chiffre a répéter se situe par exemple de A1:A10 et peut être plusieurs
fois dans la colonne. Le résultat (nombre les uns sous les autres) doit être
croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh

7 réponses

Avatar
lSteph
Bonjour,

En colonne d'emblée je ne vois pas faudrait passer par vba mais en
texte il y a une formule pour cela exemple:

en A1 "1"
en B1 100
en c1
=REPT(a1;b1)

Cordialement.

lSteph

Nicoh a exposé le 30/10/2006 :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex :

Le chiffre a répéter se situe par exemple de A1:A10 et peut être plusieurs
fois dans la colonne. Le résultat (nombre les uns sous les autres) doit être
croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -

Avatar
lSteph
Re,
Exemple A1:B6 résultat en D


Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c

End Sub

'lSteph
(Ne vois pas ce que tu entends par doublon en cet exemple.
Amha il devrait y avoir 2 séries de(4) 1 pour commencer selon données
en B1 et B2)

Nicoh avait énoncé :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex :

Le chiffre a répéter se situe par exemple de A1:A10 et peut être plusieurs
fois dans la colonne. Le résultat (nombre les uns sous les autres) doit être
croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -

Avatar
Nicoh
Merci beaucoup pour tes réponses. Je suis sur que la réponse en VBA est plus
appropriée mais je ne sais sais pas utiliser la VBA. Peux-tu me dire
rapidement comment de dois intégrer le script donné dans ma feuille de calcul
?

Merci


Re,
Exemple A1:B6 résultat en D


Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c

End Sub

'lSteph
(Ne vois pas ce que tu entends par doublon en cet exemple.
Amha il devrait y avoir 2 séries de(4) 1 pour commencer selon données
en B1 et B2)

Nicoh avait énoncé :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex :

Le chiffre a répéter se situe par exemple de A1:A10 et peut être plusieurs
fois dans la colonne. Le résultat (nombre les uns sous les autres) doit être
croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -






Avatar
lSteph
Re,
Tu peux déjà essayer tout seul, mais je mets qd même ce lien
avec l'exemple. http://cjoint.com/?kExkMSOFWH

(Tu peux adapter [b1:b6] à une autre plage)


B-) voici le comment on fait:
Avec Visual Basic Application ,
donc depuis Excel ouvrir Visual Basic Editor (Alt+F11),
à gauche il y a l'Explorateur de projets...
(sinon voir menu affichage ou faire Ctrl+R)
dans l'Explorateur de projets
Chercher le nom de projet de ton classeur
se positionner dessus,
dans le menu Insertion Module

Coller d' un bloc ce code dedans:

'''''*****
Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c
End Sub
'''''*****

Ensuite, fermer la fenêtre VBE tout en haut à droite avec la croix
Menu Outils Macro repCol executer

Cordialement.

lSteph

Nicoh avait écrit le 30/10/2006 :
Merci beaucoup pour tes réponses. Je suis sur que la réponse en VBA est plus
appropriée mais je ne sais sais pas utiliser la VBA. Peux-tu me dire
rapidement comment de dois intégrer le script donné dans ma feuille de calcul
?

Merci


Re,
Exemple A1:B6 résultat en D


Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c

End Sub

'lSteph
(Ne vois pas ce que tu entends par doublon en cet exemple.
Amha il devrait y avoir 2 séries de(4) 1 pour commencer selon données
en B1 et B2)

Nicoh avait énoncé :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex :

Le chiffre a répéter se situe par exemple de A1:A10 et peut être plusieurs
fois dans la colonne. Le résultat (nombre les uns sous les autres) doit
être croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -






--
- -



Avatar
Nicoh
le résultat est pratiquement parfait. Quand je parlais de "sans doublon",
cela veut dire comme dans ton exemple qu'il n'y a qu'une fois en colonne la
suite de 1 ou de 2, ... EX
1
1
1
2
2
3
3
3
3
ET NON
1
1
1
2
2
1
1
1
3
3
3
3
sachant que le nombre de fois qu'un même chiffre est répété est toujours le
même.
Par ailleurs, j'ai oublié un détail capital, entre chaque changement de
chiffre dans la colonne de résultat, il doit y avoir une cellule vide
automatique.

Merci beaucoup pour ton aide


Re,
Tu peux déjà essayer tout seul, mais je mets qd même ce lien
avec l'exemple. http://cjoint.com/?kExkMSOFWH

(Tu peux adapter [b1:b6] à une autre plage)


B-) voici le comment on fait:
Avec Visual Basic Application ,
donc depuis Excel ouvrir Visual Basic Editor (Alt+F11),
à gauche il y a l'Explorateur de projets...
(sinon voir menu affichage ou faire Ctrl+R)
dans l'Explorateur de projets
Chercher le nom de projet de ton classeur
se positionner dessus,
dans le menu Insertion Module

Coller d' un bloc ce code dedans:

'''''*****
Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c
End Sub
'''''*****

Ensuite, fermer la fenêtre VBE tout en haut à droite avec la croix
Menu Outils Macro repCol executer

Cordialement.

lSteph

Nicoh avait écrit le 30/10/2006 :
Merci beaucoup pour tes réponses. Je suis sur que la réponse en VBA est plus
appropriée mais je ne sais sais pas utiliser la VBA. Peux-tu me dire
rapidement comment de dois intégrer le script donné dans ma feuille de calcul
?

Merci


Re,
Exemple A1:B6 résultat en D


Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c

End Sub

'lSteph
(Ne vois pas ce que tu entends par doublon en cet exemple.
Amha il devrait y avoir 2 séries de(4) 1 pour commencer selon données
en B1 et B2)

Nicoh avait énoncé :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex :

Le chiffre a répéter se situe par exemple de A1:A10 et peut être plusieurs
fois dans la colonne. Le résultat (nombre les uns sous les autres) doit
être croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -






--
- -








Avatar
lSteph
...si j'ai bien compris:

Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
If cpt > 1 Then
If c <> c.Offset(-1, 0) Then cpt = cpt + 1
End If
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
If cpt = 65536 Then _
MsgBox "Dépassement, arrêt": Exit Sub
Next i
Next c
End Sub


' bonne nuit

'@+
'lSteph




Nicoh avait prétendu :
le résultat est pratiquement parfait. Quand je parlais de "sans doublon",
cela veut dire comme dans ton exemple qu'il n'y a qu'une fois en colonne la
suite de 1 ou de 2, ... EX
1
1
1
2
2
3
3
3
3
ET NON
1
1
1
2
2
1
1
1
3
3
3
3
sachant que le nombre de fois qu'un même chiffre est répété est toujours le
même.
Par ailleurs, j'ai oublié un détail capital, entre chaque changement de
chiffre dans la colonne de résultat, il doit y avoir une cellule vide
automatique.

Merci beaucoup pour ton aide


Re,
Tu peux déjà essayer tout seul, mais je mets qd même ce lien
avec l'exemple. http://cjoint.com/?kExkMSOFWH

(Tu peux adapter [b1:b6] à une autre plage)


B-) voici le comment on fait:
Avec Visual Basic Application ,
donc depuis Excel ouvrir Visual Basic Editor (Alt+F11),
à gauche il y a l'Explorateur de projets...
(sinon voir menu affichage ou faire Ctrl+R)
dans l'Explorateur de projets
Chercher le nom de projet de ton classeur
se positionner dessus,
dans le menu Insertion Module

Coller d' un bloc ce code dedans:

'''''*****
Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c
End Sub
'''''*****

Ensuite, fermer la fenêtre VBE tout en haut à droite avec la croix
Menu Outils Macro repCol executer

Cordialement.

lSteph

Nicoh avait écrit le 30/10/2006 :
Merci beaucoup pour tes réponses. Je suis sur que la réponse en VBA est
plus appropriée mais je ne sais sais pas utiliser la VBA. Peux-tu me dire
rapidement comment de dois intégrer le script donné dans ma feuille de
calcul ?

Merci


Re,
Exemple A1:B6 résultat en D


Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c

End Sub

'lSteph
(Ne vois pas ce que tu entends par doublon en cet exemple.
Amha il devrait y avoir 2 séries de(4) 1 pour commencer selon données
en B1 et B2)

Nicoh avait énoncé :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex
:

Le chiffre a répéter se situe par exemple de A1:A10 et peut être
plusieurs fois dans la colonne. Le résultat (nombre les uns sous les
autres) doit être croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -






--
- -






--
- -





Avatar
Nicoh
Bonjour lSteph,

Merci pour la prise en compte des cellules vides en colonne D. Mais, j'ai
toujours un souci avec les "doublons" ; je vais essayer d'être plus clair par
un exemple :

En colonne A on a dix cellules qui sont soit vides, soit contiennent un
chiffre de 1 à n; Il n'y a pas d'ordre (2 peut être avant 1, la première
cellule peut être vide, ...)
1

3
2

4
2
2
1
1
En B, c'est le nombre de fois que le chiffre de la colonne A doit être
répété en D. Si A est vide, B est vide et doit donc être ignoré dans le
résultat c'est-à-dire que ça ne doit pas créer une cellule vide en plus de
celles déjà souhaitées après chaque changement de chiffre.
2

3
4

1
2
4
2
2
En D on a par ordre croissant le résultat, en ne prenant en compte qu'une
seule fois chaque chiffre de la colonne A avec cellule vide en chaque chiffre
c'est-à-dire que dès que 1 est répété 2 fois (par rapport à l'exemple), on
passe à 2 (répété 4 fois), sans jamais qu'il y ait ensuite une suite de
1.Ainsi le résultat est le suivant
1
1

2
2
2
2

3
3
3

4
Si cela est réalisable c'est merveilleux , il ne me restera qu'une petite
chose à te demander : faire en sorte que le résultat en D s'affiche au fur et
à mesure que je remplit la colonne A puisque B se remplit déjà quand je
saisis un chiffre en A.

Quoiqu'il en soit, je te dois un très grand merci pour ton aide précieuse,
j'ai beaucoup avancé dans ma problématique grâce à toi.

Cordialement

nicoh


....si j'ai bien compris:

Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
If cpt > 1 Then
If c <> c.Offset(-1, 0) Then cpt = cpt + 1
End If
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
If cpt = 65536 Then _
MsgBox "Dépassement, arrêt": Exit Sub
Next i
Next c
End Sub


' bonne nuit

'@+
'lSteph




Nicoh avait prétendu :
le résultat est pratiquement parfait. Quand je parlais de "sans doublon",
cela veut dire comme dans ton exemple qu'il n'y a qu'une fois en colonne la
suite de 1 ou de 2, ... EX
1
1
1
2
2
3
3
3
3
ET NON
1
1
1
2
2
1
1
1
3
3
3
3
sachant que le nombre de fois qu'un même chiffre est répété est toujours le
même.
Par ailleurs, j'ai oublié un détail capital, entre chaque changement de
chiffre dans la colonne de résultat, il doit y avoir une cellule vide
automatique.

Merci beaucoup pour ton aide


Re,
Tu peux déjà essayer tout seul, mais je mets qd même ce lien
avec l'exemple. http://cjoint.com/?kExkMSOFWH

(Tu peux adapter [b1:b6] à une autre plage)


B-) voici le comment on fait:
Avec Visual Basic Application ,
donc depuis Excel ouvrir Visual Basic Editor (Alt+F11),
à gauche il y a l'Explorateur de projets...
(sinon voir menu affichage ou faire Ctrl+R)
dans l'Explorateur de projets
Chercher le nom de projet de ton classeur
se positionner dessus,
dans le menu Insertion Module

Coller d' un bloc ce code dedans:

'''''*****
Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c
End Sub
'''''*****

Ensuite, fermer la fenêtre VBE tout en haut à droite avec la croix
Menu Outils Macro repCol executer

Cordialement.

lSteph

Nicoh avait écrit le 30/10/2006 :
Merci beaucoup pour tes réponses. Je suis sur que la réponse en VBA est
plus appropriée mais je ne sais sais pas utiliser la VBA. Peux-tu me dire
rapidement comment de dois intégrer le script donné dans ma feuille de
calcul ?

Merci


Re,
Exemple A1:B6 résultat en D


Sub repCol()
Dim c As Range, i As Long, cpt As Long
For Each c In [b1:B6].Cells
For i = 1 To c
cpt = cpt + 1
Range("d" & cpt) = c.Offset(0, -1)
Next i
Next c

End Sub

'lSteph
(Ne vois pas ce que tu entends par doublon en cet exemple.
Amha il devrait y avoir 2 séries de(4) 1 pour commencer selon données
en B1 et B2)

Nicoh avait énoncé :
Bonsoir à tous,

Je souhaiterais connaitre une formule me permettant de répéter le même
chiffre autant de fois que le nombre donné dans une cellule spécifique Ex
:

Le chiffre a répéter se situe par exemple de A1:A10 et peut être
plusieurs fois dans la colonne. Le résultat (nombre les uns sous les
autres) doit être croissant EX

Colonne A = chiffre Colonne B=nombre de fois ou le chiffre doit être
répété
1 4
1 4
2 3
3 5
1 4
4 3
Résultat à obtenir sans doublon par ordre croissant en C par exemple
1
1
1
1
2
2
2
3
3
3
3
3
4
4
4

Par avance merci pour votre aide s'il y a une solution

Nicoh


--
- -






--
- -






--
- -