Bonjour,
je dois créer un automate cellulaire simulant un virus, ce qui me parait assez compliqué sachant que je débute en VBA.
La 1ère partie du programme affecte une couleur et un A à un nombre de cellule aléatoire dans une feuille de calcul .
La 2 ème partie doit permettre de poser un "virus" sur la feuille de calcul, si il possède une cellule verte avec un A dans son environnement direct (8cellules adjacentes) il l'a transforme en cellule noir avec un V, sinon il se déplace dans l'une des 8 directions ,d'une cellule. Ce virus à un nombre de déplacement limité, si il "mange" une cellule avec un A, il remet son nombre de déplacement au max.
[u]
Pourriez vous m'aider à écrire un test permettant de tester si une ou plusieurs cellules adjacentes à une cellule aléatoire ont un A, que je puisse ensuite utiliser les données de sortie (il y a une A ou non)./u
Cordialement
Voici le code de la 1ère partie qui fonctionne :
NB = 0
K = 0
compte = 0
A = InputBox("veuillez saisir le nombre de colonne")
B = InputBox("veuillez saisir le nombre de la ligne")
Do
Randomize
X = Int(A * Rnd) + 1
Y = Int(B * Rnd) + 1
If Cells(X, Y).Value = "A" Then
K = 1
Else: Cells(X, Y).Value = "A"
NB = NB + 1
End If
If Cells(X, Y).Value = "A" Then
Cells(X, Y).Interior.ColorIndex = 10
End If
Loop While K = 0
MsgBox ("end")
Cells(1.1) = NB
A voir également:
[VB.NET -> VBA]Tester les 8 cellules adjacentes, création d'un automate cellulai
Tout ce que je vais m'autoriser à dire dans de telles conditions est ceci :
- tu sais déjà (puisque ta première partie l'utilise) chosir aléatoirement une cellule
- la propriété Offset te permet de te référer aux cellules que tu veux tester. Ouvre ton aide VBA sur le mot Offset, lis et applique.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
je dois créer un automate cellulaire simulant un virus
Il ne peut donc pas s'agir d'un besoin, mais d'un exercice de cours.
Tu as une longue discussion à ce sujet (exercices, devoirs, PFE, etc ...)
Nous allons donc te laisser mériter ta note.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.