Bonjour les amis
SVP je voudrais une macro qui va me permettre de copier une zone par exemple si vous regardez l'image je voudrais copier la zone C2:C5 de la feuille Ordonnancement et la colone sur la méme colonne C on demandons a l'utilisateur le nombre de fois qu'il veux la coller
chaque plat coller il faux qu'il récupère aléatoirement une famille qui lui correspond dans la colonne P de la feuille Donnees et la mettre dans la colonne A de la feuille Ordonnancement ensuite il faux qu'il récupère le code équipement de la famille dans la colonne Q de la famille Donnees et le met dans la colonne B de la feuille Ordonnancement
voila li image qui illustre ce que j'ai dit
et une macro qui fais ca met y'a quelque chose qui ne va pas la partis qui récupére la famille et le code équipement ne fonctionne pas comme il faux
MERCI je sui d'ans lattente d'une réponse svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Sub Dupliquer5Selection() Dim splat As String Dim PlS As Range, hpl%, i%, n% Dim kR As Long, v As Single Dim RngCum As Range Dim vTypeEq As Long kR = Range("A" & Rows.Count).End(xlUp).Row '--- dernière ligne utilisée en colonne A kR = kR + 1 '--- ligne sur laquelle il faut indiquer le produit tiré au sort n = Int(Application.InputBox("Nombre de duplications ?", "Dupliquer plage sélectionner", Type:=1)) Set PlS = Selection hpl = PlS.Rows.Count For i = 1 To n PlS.Offset(i * hpl).Value = PlS.Value Next i Set RngCum = Worksheets("Donnees").Range("O2:S1000") '--- plage utilisée pour le tirage Do v = Rnd() vTypeEq = RngCum.Cells(v, 3) '--- type d'équipement Cells(kR, 1) = WorksheetFunction.VLookup(v, RngCum, 2) '--- code produit en colonne 1 (A) Cells(kR, 2) = vTypeEq kR = kR + 1 Loop Until Cells(kR, 3) = splat Set RngCum = Nothing End Sub![]()
Partager