amateur_will
XLDnaute Nouveau
VB:
' code qui tire des numéros aléatoires
Dim cell As Range
Dim CopieCell As Range
Set Plagcell = Feuil2.Range("B2:U2")
Randomize
For Each cell In Plagcell
cell.Value = Int(0 + 9 * Rnd())
Next cell
'----------------------'
Set PosCell = Feuil2.Range("B2") 'position sur 1er valeur
PosCell.Select
For Each CopieCell In Feuil1.Range("B2", Feuil2.Cells(Feuil2.Columns.Count, "U2").End(xlUp))
For Each AlimPlag In Array(PlagcellB, PlagcellC, PlagcellD, PlagcellE, PlagcellF, PlagcellG, PlagcellH,PlagcellI) 'placement des plages spécifiques du tableau
CopieCell.Value = AlimPlag.Offset(, CInt(AlimPlag)).Value 'affecte la valeur aux plages spécifiques
Set PosCell = PosCell.Offset(1) 'passe à la cellule suivante pour être affecté
Next
Next
End Sub
On commence par boucler sur le contenu de la ligne B2, a U2 ---> apparemment 'plantage ici en type d'erreur 1004 de la ligne ci-dessus.
tu prends la valeurs que tu trouves, et l'affectation se fait ( par l'autre For each AlimPlag..) aux plages définis
[excel2010-2016]
et merci de vos conseils, dans le code assez simple, que j'essai de faire; mais qui plante
ci-joint la capture d'écran ci-dessus.
dans la plage B2:U2, j'ai généré des chiffres aléatoires.
par ailleurs, je veux les affectés a des plages bien distincts, dans leurs colonnes associées.
mon code est le suivant.
mes affectations:
VB:
affectation des plages.
Sub Num_Aleatoir()
Dim Plagcell As Range, PlagcellB As Range, PlagcellC As Range, PlagcellD As Range, PlagcellE As Range, PlagcellF As Range, PlagcellG As Range
Dim PlagcellH As Range, PlagcellI As Range, PosCell As Range
'-------'
Dim deb_colo As Integer, fin_Colo As Integer, Col As Integer, i As Integer
Dim Feuil2 As Worksheet
Dim AlimPlag As Variant
'--------'
Set Feuil2 = Worksheets("Feuil2")
Set PlagcellB = Feuil2.Range("B3:B7")
Set PlagcellC = Feuil2.Range("C3:C7")
Set PlagcellD = Feuil2.Range("D3:D4", "D8:D10")
Set PlagcellE = Feuil2.Range("E3:E4", "E8:E10")
Set PlagcellF = Feuil2.Range("F3:F4,F8,F11:F12,F14:F15")
Set PlagcellG = Feuil2.Range("G4,G8,G11:G13")
Set PlagcellH = Feuil2.Range("H1,H5,H8,H11:H13")
Set PlagcellI = Feuil2.Range("I3,I5,I8,I11:I12,I14:I15")
mon code plante, quand il doit récupérer, les valeurs de la ligne B2:U2, et les affectés aux différentes plages de cellule que j'ai définis comme ci-dessus
Merci, a pour pistes et ébauches
, puisque je devrais le faire dans plusieurs autres feuilles
cordialement a vous.