Bonjour le Forum,
Je suis nul en VBA, merci de m'aider quant à mon besoin ci-dessous.
J'ai un tableau avec la plage D9: M100.
Dans la cellule S8 il y a une valeur numérique
Dans la cellule S9 il y a une valeur numérique
Dans la cellule S10 il y a une valeur numérique
Je veux distribuer aléatoirement (avec un bouton VBA) les nombres de 01 jusqu'à le nombre dans la cellule S9 dans la plage D9: M100 selon les conditions suivantes:
1- Distribution aléatoire dans la plage D9:M100 de 01 au numéro de la cellule S9 et ne répétant pas le même numéro dans la même ligne, et remplacez le nombre répété par un autre numéro
2- Le nombre de colonnes dans lesquelles la répartition est autorisée est égal au nombre de la cellule S10
3- Le nombre de lignes dans lesquelles la répartition est autorisée est égal au nombre de la cellule S8
4- Le nombre de colonnes saisi dans la cellule S10 ne dépasse pas le nombre saisie dans S9, si le contraire un message d'erreur s'affiche
4 - La répartition s'effectue uniquement dans les cellules vides de la plage D9:M100
5 - Le même numéro soit répété seulement deux fois et pas plus dans chaque colonne selon la valeur de S9 (par exemple : si la valeur de S9 est égale à 7, alors tous les nombres doivent être répétés deux fois aléatoirement dans chaque colonne , en tenant compte de la première condition, qui est de ne pas répéter les nombres en lignes)
6 - Permettre qu'un seul chiffre soit répété deux fois dans deux lignes différentes (par exemple, si le chiffre 3 est répété, par exemple, dans la ligne 10 et répété dans la ligne 15, cela est autorisé, mais si un autre chiffre, comme le chiffre 7, est répété dans ces deux lignes, cela ne peut pas être autorisé).
7 - Remplacez les cellules contenant des lettres par des cellules contenant des chiffres en fin de colonne (selon les conditions mentionnées précédemment, à l'exception de la condition du nombre de lignes).
Un fichier test en pièce jointe
Cordialement.
Partager