[VB.NET -> VBA]Tester les 8 cellules adjacentes, création d'un automate cellulai [Résolu]

Signaler
-
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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.