Rechcerche sur la notion de "Groupe de Contrôles" en VB - VB/VBA/VBS - Programmation
Marsh Posté le 21-09-2002 à 17:41:36
Dans l'évènement Click du bouton, l'index est transmis en paramètre ! Tu peux donc le lire sans problème :
Code :
|
Marsh Posté le 21-09-2002 à 20:02:44
OK mais le problème c'est que la procédure
CommandButton1_Click(Index As Integer) se trouve dans la fenêtre "ModifierFilm" et permet d'ouvrir la fenêtre "ModifierActeur". Et c'est dans la fenêtre "ModifierActeur" que je souhaite lire la valeur de l'index.
Marsh Posté le 21-09-2002 à 20:08:43
Ben dans ce cas tu transmets la valeur de l'index en paramètre de ModifierActeur() :
Call ModifierActeur(index)
Et ta déclaration de ModifierActeur() :
Private Sub ModifierActeur(index as Integer)
Je vois pas ou était la difficulté !
Marsh Posté le 21-09-2002 à 20:41:54
Ce n'est pas très clair. Lorsque je fais:
Call ModifAct_Click(Index)
dans la fenêtre "ModifierActeur" Il me met : "procédure sub ou fonction non définie".
Je répète la procédure est dans la fenêtre "ModifierFilm" et je veux récupérer la valeur de l'index dans la fenêtre "ModifierActeur".
Merci de ta patience.
Marsh Posté le 21-09-2002 à 20:53:41
Poste le code de tes fonctions ModifierFilm et ModifierActeur
Marsh Posté le 21-09-2002 à 21:14:08
Ce ne sont pas des fonctions mais des fenêtres. Je poste le tout
Marsh Posté le 21-09-2002 à 21:19:38
Fenêtre ModifierActeur.
Sub FormLoad()
Call ModifAct_Click(Index)
Select Case ModifierFilm!ModifAct(Index)
Case 1
PrenomAct.Text = ModifierFilm!PrenomAct(1).Text
NomAct.Text = ModifierFilm!NomAct(1).Text
Case 2
PrenomAct.Text = ModifierFilm!PrenomAct(2).Text
NomAct.Text = ModifierFilm!NomAct(2).Text
Case 3
PrenomAct.Text = ModifierFilm!PrenomAct(3).Text
NomAct.Text = ModifierFilm!NomAct(3).Text
Case 4
PrenomAct.Text = ModifierFilm!PrenomAct(4).Text
NomAct.Text = ModifierFilm!NomAct(4).Text
End Select
End Sub
________________________________________________________________
Fenêtre ModifierFilm:
Public Sub ModifAct_Click(Index As Integer)
ModifierFilm.Enabled = False
ModifierActeur.Show
End Sub
________________________________________________________________
Bien sûr ce n'est qu'une partie.
Dans la fenêtre "ModifierFilm" se trouve la procédure ModifAct_Click(Index). Cette procédure ouvre la fenêtre ModifierActeur. Index correspond au n° d'index du bouton. Il existe 4 boutons sur la même page d'index 1 à 4. Lorsque l'on clique sur l'un de ces boutons cela active cette procédure.
C'est ensuite dans le form Load de la fenêtre ModifierActeur que je souhaite récupérer le N° d'index du bouton sur lequel l'utilisateur a cliqué pour reconnaître le bon bouton et savoir quoi afficher.
Bon courage!!! Et merci
Marsh Posté le 21-09-2002 à 21:31:40
Bon, déja, ce genre de truc est à éviter :
Code :
|
On appelle jamais soi même une procédure évenementielle, on laisse le soin à l'utilisateur de cliquer sur le bouton, ce qui déclenchera l'éxécution de cette procédure.
Ensuite, pourquoi mettre la fonction ModifAct_Click(Index) dans un fichier de nouvelle Form ?
Enfin, si tu veux récupérer l'index, passe le en variable globale, comme ceci :
Au début de ton programme :
Code :
|
Dans la fonction ModifAct_Click() :
Code :
|
Et dans la fonction ModifierActeur :
Code :
|
Et ça devrait être bon. Mais ton programme me semble vraiment bizarre... Tu devrais revoir un peu sa conception !
Marsh Posté le 21-09-2002 à 23:35:34
Bon OK je me suis pris la tête sur un truc méga simple!!! Effectivement ce que tu me dis marche!
Encore merci pour tous les services rendus!!
Bye
Marsh Posté le 22-09-2002 à 00:17:26
Mais de rien
(Et de 2 ! Je suis en forme ce soir )
Marsh Posté le 21-09-2002 à 16:52:17
Salut à tous
J'ai créé 4 boutons dans un groupe de contrôles. Leurs index vont de 1 à 4. Ils portent les noms : ModifAct(1 jusqu'à 4). Lorsque je clique dessus, cela m'ouvre une fenêtre. Dans cette fenêtre j'ai besoin de connaître le n° d'index du bouton sur lequel j'ai cliqué. Ma fenêtre de départ s'appelle : ModifierFilm la fenêtre d'arrivée s'appelle ModifierActeur. J'ai essayé:
-Select case MadifierFilm!ModifAct.Item.Index, mais ça ne marche pas.
Quoi écrire pour pouvoir récupérer le n° d'index du bouton cliqué?
Merci d'avance