OVH Cloud OVH Cloud

groupe à 2 index

3 réponses
Avatar
Barsalou
Bonjour à tous

J'aimerai savoir s'il existe une astuce pour créer un groupe de contrôles
avec deux index, par exemple label(x,y) ce qui permettrait commodément d'y
écrire les valeurs d'un tableau à double entrée. Même si on peut de
débrouiller avec un seul index grâce à la division entière et à la fonction
modulo il serait pratique d'en avoir deux voire plus.

Merci

3 réponses

Avatar
david
Salut,

comme tu l'as si bien dit : il faut se débrouiller avec les divisions
entières et les modulos.

Par contre, rien ne t'empèche de créer une fonction qui te renvoi ton
type de contrôle (par exemple textBox) et utilise 2 (ou plus)
paramètres.
Par exemple :
function maGrille(byval x as long, byval y as long)as textBox
dim ctrlIdx as long

x = x mod 10 'Mise en modulo de sécurité
ctrlIdx = (x + (y*10)) 'avec un tableau à 10 par ligne
'Rq : tu peux faire (y-1) et (x-1) pour utiliser des
coordonnées
'allant de 1 à n, plutôt que de 0 à n-1
ctrlIdx = ctrlIdx mod mesTextBox.Count
set maGrille = mesTextBox(ctrlIdx)
end function

Avec un truc du genre tu peux simplifier tes écritures, car
maGrille(5,7).ForeColor
c'est aussi simple que
mesTextBox(57).ForeColor
mais plus parlant...

A+
Barsalou a écrit :

Bonjour à tous

J'aimerai savoir s'il existe une astuce pour créer un groupe de contr ôles
avec deux index, par exemple label(x,y) ce qui permettrait commodément d'y
écrire les valeurs d'un tableau à double entrée. Même si on peut de
débrouiller avec un seul index grâce à la division entière et à la fonction
modulo il serait pratique d'en avoir deux voire plus.

Merci


Avatar
Jacques93
Bonjour Barsalou,
Barsalou a écrit :
Bonjour à tous

J'aimerai savoir s'il existe une astuce pour créer un groupe de
contrôles avec deux index, par exemple label(x,y) ce qui permettrait
commodément d'y écrire les valeurs d'un tableau à double entrée. Même si
on peut de débrouiller avec un seul index grâce à la division entière et
à la fonction modulo il serait pratique d'en avoir deux voire plus.




Pas à ma connaissance. Ne sachant pas ce que tu veux faire...
Peut être avec un FlexGrid :

Me.MSFlexGrid1.TextMatrix(Ligne, Colonne) = "toto"

--
Cordialement,

Jacques.
Avatar
Barsalou
Merci à vous deux