Copier/coller autant de fois qu'une celulle l'indique

Résolu/Fermé
Monsieur_Malik Messages postés 17 Date d'inscription samedi 1 décembre 2018 Statut Membre Dernière intervention 1 mars 2020 - 14 déc. 2018 à 15:20
Monsieur_Malik Messages postés 17 Date d'inscription samedi 1 décembre 2018 Statut Membre Dernière intervention 1 mars 2020 - 12 janv. 2019 à 13:53
bonjours mon problème est tout simple j'ai un tableau et je voudrais simplement que si b2 = 50 par exemple qu'il me copie la valeur 50 50 fois sur les autres ligne c'est a dire c2 d2 etc.
merci d'avance pour votre aide
A voir également:

2 réponses

Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié le 14 déc. 2018 à 17:24
Bonjour,

regarde comme cela voir si c'est ce que tu cherches

Option Explicit

Sub Copier_Coller_X_Fois()
Dim Val, Cop As Integer
Val = Range("B2").Value
Range("B2").Copy
With ActiveSheet
For Cop = 1 To Val
.Paste Destination:=.Range("B2").Offset(0, Cop)
Next Cop
End With
Application.CutCopyMode = False
End Sub

0
Monsieur_Malik Messages postés 17 Date d'inscription samedi 1 décembre 2018 Statut Membre Dernière intervention 1 mars 2020
14 déc. 2018 à 22:53
Merci Mike cependant je rencontre un petit problème avec ton code que je l'adapte a toute la range ("B:B") ça ne marche pas le problèmes est au niveau de " For Cop = 1 To Val".
Merci
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
15 déc. 2018 à 13:30
Re,

initialement il s'agissait de copier la cellule B2 autant de fois que la valeur contenue, ce qui change tout
regarde ce code pour la plage B2 à B100

Option Explicit

Sub Copier_Coller_X_Fois()
Dim Val, Cop As Integer
For i = 2 To 100
Val = Cells(i, 2).Value
Cells(i, 2).Copy
With ActiveSheet
For Cop = 1 To Val
.Paste Destination:=.Cells(i, 2).Offset(0, Cop)
Next Cop
End With
Next i
Application.CutCopyMode = False
End Sub

0
Monsieur_Malik Messages postés 17 Date d'inscription samedi 1 décembre 2018 Statut Membre Dernière intervention 1 mars 2020
15 déc. 2018 à 15:13
Ok merci beaucoup pour ton aide Mike !
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
15 déc. 2018 à 16:54
Re,

si la plage est plus longue il est possible d'accélérer le déroulement du code avec
en début de code
Application.ScreenUpdating = False

et en fin
Application.ScreenUpdating = True
0
Monsieur_Malik Messages postés 17 Date d'inscription samedi 1 décembre 2018 Statut Membre Dernière intervention 1 mars 2020
12 janv. 2019 à 13:53
super merci Mike !
0