Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1843 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  créer une sphere dans un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

créer une sphere dans un tableau

n°1502536
yanhoupa
Posté le 13-01-2007 à 15:20:42  profilanswer
 

Bonjour,
 
Cela fait quelques temps que je suis pas venu ici  :hello:  
 
Voila mon problème :
 
j'ai un tableau et j'aimerais que la dernière ligne renvoi à la première (et inversement). De même pour les colonnes, la colonne de gauche renvoi a la colonne de droite et vice versa.
 
Je sais pas si j'ai etais assez clair et comprehensif ?
 
Enfaite, le programme prend chaque case du tableau et verifie les 8 case qui l'entoure, donc si la case est tout a droite, je voudrait qu'il regarde  tout a gauche.
 
http://pix.nofrag.com/7f/be/6bcc7dc267d3fcebb0e3a14ad9d4.jpg
Donc là, c'est la case jaune qui est selectioné et en rouge, ce sont les case qui sont verifiées.
 
merci d'avance :jap:

mood
Publicité
Posté le 13-01-2007 à 15:20:42  profilanswer
 

n°1502568
olivthill
Posté le 13-01-2007 à 18:15:50  profilanswer
 

Bonjour,
 
On appelle aussi cela un tableau torique.
Il faut tester les cas où les limites sont dépassées. Si c'est le cas, alors il faut pointer au début de l'autre extrémité.
Pour éviter quelques tests, il est possible d'utiliser la fonction modulo dans quelques cas, mais le programme sera peut-être un peu moins lisible.

n°1502581
yanhoupa
Posté le 13-01-2007 à 18:57:27  profilanswer
 

Alors de façon litteraire, ça voudrait dire ceci :
 
Imaginons que mon tableau aille de A à E (on vera les ligne plus tard)
 
Si je regarde en F alors je revien en A ? mais à gauche de A ca s'appel comment ? c'ests pas possible comme ca

n°1502598
yanhoupa
Posté le 13-01-2007 à 20:10:38  profilanswer
 

j'ai ca (sachant que le tableau est de 16 par 37 cases :  
 

Code :
  1. For k = (i - 1) To (i + 1)
  2.     For l = (j - 1) To (j + 1)
  3.        
  4.         If Cells(k, l).Interior.ColorIndex = 6 Then
  5.             compte_voisin = compte_voisin + 1
  6.         End If
  7.                
  8.     Next l
  9. Next k


 
Et donc quand i = 1, comme il y a - 1 cela fait 0 et donc il doit regarder a gauche de A, mais c'est pas possible :/ (pareil pour j)
 
 
donc moi j'avais pensé a ceci :
 

Code :
  1. If k = 0 then
  2. k = 16
  3. elseif k = 17 then
  4. k = 1
  5. end if
  6. If l = 0 then
  7. l = 37
  8. elseif l = 38 then
  9. l = 1


 
mais ca boucle sans fin :(

n°1502634
seniorpapo​u
Posté le 13-01-2007 à 21:57:07  profilanswer
 

Bonsoir,
Normal, tu touches aux indices de ta boucle.
fais m=k et n=l
fais tes tests sur m et n
if m = 0 then m= 16
if m=17 then m =1
etc..etc..
 
remplaces cells(k,l)  par cells(m,n)
 
Cordialement
Remarque: dans ta boucle tu prends en compte la cellule "centrale", est-ce voulu?


Message édité par seniorpapou le 13-01-2007 à 22:00:29
n°1502639
yanhoupa
Posté le 13-01-2007 à 23:03:45  profilanswer
 

non, je veut pas la prendre en compte donc je suis obliger après de faire  
 

Code :
  1. If Cells(i, j).Interior.ColorIndex = 6 Then
  2.     compte_voisin = compte_voisin - 1
  3. End If


 
Mais je vais essayer de remplacer les variable comme tu m'a dit.
 
merci :jap:

n°1502642
yanhoupa
Posté le 13-01-2007 à 23:21:57  profilanswer
 

C'est bon ca marche :)
 
merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  créer une sphere dans un tableau

 

Sujets relatifs
Créer un site intranet gratuitement et rapidementJe n'arrive pas à centrer un tableau sous Dreamweaver 8 !
[PERL] Trier un tableau associatif par les valeursCréer un test
récupération d'un tableau par la méthode POST[VB] créer un batch config réseaux
Tableau : inverser deux valeursDétecter et supprimer valeur d'un tableau
[CSS] Center Un TableauConstructeur par recopie pour Tableau
Plus de sujets relatifs à : créer une sphere dans un tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR