remitkd
-
17 mars 2013 à 21:18
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
17 mars 2013 à 21:45
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
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 17 mars 2013 à 21:45
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.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 17 mars 2013 à 21:27
Bonjour,
En dehors du fait que la section :
Forum > VB.NET et VB 2005
n'a absolument rien à voir avec le VBA
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.