IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-07] Fourmis, parcours, procédure créant des tableaux..?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Par défaut [E-07] Fourmis, parcours, procédure créant des tableaux..?
    Salut à tous !

    Exercice difficile à rendre pour l'école faisant intervenir beaucoup de "hasard"... je ne développe pas tout le projet mais juste ce sur quoi je butte :

    Des fourmis se promènent au hasard sur le tableur excel depuis un point fixé au hasard jusqu'à de la bouffe, soit une case au hasard déterminée au préalable.
    CHAQUE fourmis doit ensuite après avoir trouvé la bouffe revenir à la fourmilière en EMPRUNTANT LE MEME CHEMIN.

    Le terrain sur lequel les fourmis circulent est un carré dont le coté est choisi par l'utilisateur. Il y a d'autres paramètre (elles laissent des phéromones et tout...mais je ne précise pas)

    Mon problème est de les faire revenir par le même chemin qu'elle ont emprunté.
    J'ai fait numéroté chaque case par une structure créé, et je voudrais créer UN TABLEAU A UNE DIMENSION PAR FOURMIS (le nombre de fourmis est aléatoire) lui permétant de reprendre ensuite le tableau à l'envers afin de revenir au bercail.

    Je voudrais donc créer une procédure qui crée plusieurs tableaux. Comment faire ? :S

    N'hésitez pas à me poser des questions sur le problème si je n'ai pas été assez précis.

    Edouard

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    bonjour,

    Pour créer un tableau sans dimensionnement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim parcour_fourmi1()
     
    "déplacement fourmis .... 
     
    nbdéplacement =nbdéplacement +1 'pour dimensionner le tableau
    => redim preserve parcour_fourmi1(nbdéplacement )
    =>parcour_fourmi1(nbdéplacement )=nouvelle cellule ("A7")

  3. #3
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Pour reprendre l'idée de Patbou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    DIm TabIti(1 to 1) as string
    Dim l as long
     
    'point de départ
    TabIti(1) =RangeDepart.Address 
     
    'pour chaque mouvement vers la cellule RangePosition
    Redim Preserve TabIti(1 to Ubound(TabIti)+1)
    TabIti(Ubound(TabIti))= RangePosition.Address
     
    'pour le retour
    For l = ubound(TabIti) to 1 step -1
        'lire l'adresse enregistrée en TabIti(l)
    Next l
     
    'fin
    Une autre idée, enregistrer l'itinéraire dans un chaîne de caratères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Dim sIti as string, vIti as variant
    Dim l as long
     
    'point de départ
    sIti  = "/" & RangeDepart.Address 
     
    'pour chaque mouvement vers la cellule RangePosition
    sIti = sIti & "/" & RangePosition.Address
     
    'pour le retour
    siti = Mid$(sIti,2)
    vIti = split(sIti,"/")
    For l = ubound(vIti) to Lbound(vIti) step -1
        'lire l'adresse enregistrée en TabIti(l)
    Next l
     
    'fin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation des tableaux comme paramètres pour les procédures
    Par guefrachi dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 01/10/2010, 18h50
  2. [PHP 5.3] Parcours d'un tableau tridimensionnel contenant des tableaux
    Par DarkSeiryu dans le forum Langage
    Réponses: 11
    Dernier message: 28/05/2010, 15h05
  3. procédure qui modifie des tableaux
    Par ader277 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/03/2010, 10h13
  4. Réponses: 1
    Dernier message: 12/12/2007, 13h46
  5. free sur des tableaux "a moitié dynamiques"
    Par barthelv dans le forum C
    Réponses: 4
    Dernier message: 31/07/2003, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo