non, ça ne fonctionne pas.
Je viens de modifer le code ainsi :
Sub tata()
' part de la ligne 2
i = 2
' part de la colonne A
j = 1
' Boucle tant colonne A non vide
Do While Cells(i, j).Value <> ""
' part de la colonne B
j = j + 1
'nous avons 23 colonnes avec des chiffres
'colonne prend aleaentrebornes(2,23)
colonne = Application.WorksheetFunction.RandBetween(2, 23)
' on inscrit le numéro de colonne en (i,j soit ligne 2, colonne 2 au premier passage)
Sheets("Alea a créer").Cells(i, j) = colonne
'on trouve la derniere ligne de la colonne en question
derniere = Sheets("Données").Cells(Rows.Count, colonne).End(xlUp).Row
'on remplit 2C
Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Données").Cells(Application.WorksheetFunction.RandBetween(1, derniere), colonne)
'on remplit 2D
j = j + 1
Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Données").Cells(Application.WorksheetFunction.RandBetween(1, derniere), colonne)
'tant que C2 = D2 on reremplit D2
Do While Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Alea a créer").Cells(i, j)
Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Données").Cells(Application.WorksheetFunction.RandBetween(1, derniere), colonne)
Loop
'on remplit E2
j = j + 1
Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Données").Cells(Application.WorksheetFunction.RandBetween(1, derniere), colonne)
'tant que E2 = D2 ou C2 on reremplit E2
Do While Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Alea a créer").Cells(i, j) Or Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Alea a créer").Cells(i, j - 1)
Sheets("Alea a créer").Cells(i, j + 1) = Sheets("Données").Cells(Application.WorksheetFunction.RandBetween(1, derniere), colonne)
Loop
j = 1
i = i + 1
Loop
End Sub
le problème est que j'ai parfois (1 ligne sur 3) des case vides en colonne C D et E, au lieu d'être rempli, et ce, aléatoirement, comme si le programme se moquait un peu de moi...
Pourquoi ai-je des cases vides ?
Merci
avec le fichier, c'est peut-être plus simple à comprendre