bonjour, je vous soumet mon probleme voici trois jours que je retourne le prob et rien alors je vous le soumet:

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Private Sub CommandButton5_Click()

   Dim CtrlOptionButton As Control
   Dim CtrlFrame As Control
    Dim CtrlPage As Page
   
   '-----------------------------------
   ' MODIFICATION DES CAPTIONS
   '-----------------------------------
   
            ' on parcour le control multipage
         For Each CtrlPage In Me.MultiPage1.Pages
             For Each CtrlFrame In MultiPage1.Pages.Item(CtrlPage.name).Controls
                ' si on trouve des frames alors on poursuit, sinon on sort
                     If TypeOf CtrlFrame Is msforms.Frame Then GoTo suite1
                     GoTo fin2
suite1:

                    'Boucle sur tous les contrôles de la frame
                    For Each CtrlOption In CtrlFrame.Controls
                        'Vérifie qu'il s'agit d'un OptionButton, sinon on sort
                        If TypeOf CtrlOption Is msforms.OptionButton Then GoTo suite2
                        GoTo fin3
suite2:
                            ' on lit quel est le niveau de l'objectif
                           ' VarValeurObj = Sheets("recapitulatif").Cells(Numligne, Numcol).Value
                            'si c'est 99 alors on est a la fin on sort
                           ' If VarValeurObj = "99" Then GoTo fin
                                ' On cherche quel est le ctrloption button qui est concerne par le niveau
                              '  For Each CtrlOptionButton In CtrlFrame.Controls
                              '  If TypeOf CtrlOptionButton Is MSForms.OptionButton Then GoTo suite3
                              '  GoTo fin4
suite3:
                                 ' une fois trouve on affiche à sa place un textbox
                                    If CtrlOption.Value = True Then
                                 
Set Mycmd = Interface.MultiPage1.Pages.Item(0).Controls.Item(0).Add("Forms.textbox.1")
    Mycmd.left = CtrlOption.left
    Mycmd.top = CtrlOption.top
    Mycmd.width = 210
    Mycmd.height = 18
    Mycmd.Font.name = tahoma
    Mycmd.Font.Size = 8
    Mycmd.Font.Bold = False
    Mycmd.text = CtrlOption.Caption

                                    Numligne = Numligne + 1
                                    GoTo fin2
                                    Else
                                Exit For
                                End If
fin4:
                               ' Next CtrlOptionButton
          
fin3:
                    Next CtrlOption

fin2:
                Next CtrlFrame
fin1:
            Next CtrlPage
fin:
mon but est de relier mes variables decontrols avec la ligne set ... (les mots en rouge) et là je coince.

alors si quelqu'un a une idée; je l'adopte bien volontier.

de plus une fois modifier le caption comment faire pour qu'il reste effectif meme aprés la fermeture.

au plaisir de vous lire
bonne soirée.r