Bonsoir Askillaz, bonsoir le forum,
Le code ci-dessous renvoie des nombres aléatoires dans la colonne A du premier onglet d'un classeur :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
Dim I As Long 'déclare la variable I (Incrément de ligne)
Dim J As Byte 'déclare la variable J (incrément de nombre)
Dim TEST As Boolean 'déclare la variable TEST
Set O = Sheets(1) 'définit l'onglet O (à dapter à ton cas)
DL = O.Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 2 (=B) de l'onglet O
TC = O.Range("A1:B" & DL) 'définit le tableau de cellules TC
Randomize 'lance le générateur de nombres aléatoires
For I = 1 To UBound(TC, 1) 'boucle 1 : sur toutes les lignes I du tableau de cellules TC
TEST = False 'initialsie la variable TEST
If TC(I, 1) = "" Then 'condition 1 : si la valeur ligne I colonne 1 de TC n'est pas vide
For J = 1 To 3 'boucle sur les 3 chifre (1, 2 et 3)
'condition 2 : si le chiffre J (converti en texte) apparait dans la valeur ligne I colonne 2 de TC
If InStr(1, TC(I, 2), CStr(J), vbTextCompare) <> 0 Then
'renvoie dans la cellulel ligne I colonne 1 de O, un nombre aléatoire compris entre 2,0 et 9,9
O.Cells(I, 1).Value = Int(80 * Rnd + 20) / 10
TEST = True 'définit la variable TEST
End If 'fin de la condition 2
Next J 'prochain nombre de la boucle
'si TEST est [Faux], renvoie un nombre aléatoire entre 0,0 et 0,9
If TEST = False Then O.Cells(I, 1).Value = Int(10 * Rnd) / 10
End If 'fin de la condition 1
Next I 'prochaine ligne de la boucle
End Sub
Ne te reste plus qu'à ouvrir les fichiers concernés un par un. Les remplir de nombres aléatoires, les sauver et les fermer. Je t'aurais bien écrit le code qui fait cela si tu avais daigné nous dire où se trouvent les fichiers et ce qui les différencie des autres...
Dernier point que faut il faire quand une cellule de la Colonne B est vide ?
• renvoyer un nombre aléatoire en colonne A entre 0,0 et 0,9 ?
• ne rien mettre ?
[Édition]
Bonsoir Galopin on s'est croisé...