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

- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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.
Commenter la réponse de ucfoutu