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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Initialisation de deux UserForm!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Initialisation de deux UserForm!

n°1378380
lden
Posté le 31-05-2006 à 19:20:02  profilanswer
 

Bonsoir
 
Voila j'ai une feuille excel avec deux bouton.
l'action sur l'un des deux boutons entraine l'affichage d'un userform, qui est initialisé avec private sub UserForm_Initialize
 
J'ai l'impression que cette sub est intrinseque a vb. car je voudais la transformer en fonction afin d'initialiser le userform approprié à l'action sur le bouton.
 
voila mon code :
 
 
Private Sub CommandButton2_Click()
 
Dim logical As boolean
logical = commandbutton2.Value    
UserForm_Initialize(logical)  
 
End Sub
 
Private Sub CommandButton3_Click()  
    ....'c'est le meme principe que sauf que l'on force logical à false
End Sub
 
Function UserForm_Initialize(etat_boutton as boolean)
    Dim MyUser As UserForm
     
    If logical = True Then
    Set MyUser = UserForm1
    Else
    Set MyUser = UserForm2
    End If
     
End Function
 
apres ca se complique car et je n'ai jamais tres bien compris prkoi le set Myser  
 
va dans la partie d'initialisation a proprement parlé
le code
'a mettre toujours au debut dans le user pettons le mettre dans un module à part? je pense que c'est de
la que vient mon erreur
 
Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
Function UserForm_Initialize(etat_bouton As boolean) 'ici vba rale a la compilation car il trouve deux fct 'semblable alors qu'a l'origine avec Private Sub UserForm_Initialize ya pas de probleme, mais bon moi j'ai deux user a 'initialiser...
Dim hWnd As Long
hWnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D" ) & "Frame", Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
UserForm1.Show ou UserForm2.Show selon le Set MyUser = UserForm..dependant de l'etat du bouton
EtiquetteErreur:
For i = 1 To 100
On Error GoTo zut
MyUser.Show
Next i
End
zut:
Resume Next
End Sub
 
Si vous pouvez m'aider ca serait cool, j'ai envie de diminuer la taille du code c'est pourcela que j'aimerai faire une fonction.
 
BYe
 
lden


Message édité par lden le 02-06-2006 à 09:24:00
mood
Publicité
Posté le 31-05-2006 à 19:20:02  profilanswer
 

n°1378383
lden
Posté le 31-05-2006 à 19:29:28  profilanswer
 

j'ai en plus l'impression qu'on ne peut pas renomer userform_initialize en userform_initialize1 puis 2 ...
mama mia help!

n°1378384
lden
Posté le 31-05-2006 à 19:36:33  profilanswer
 

en gros le pb c'est comment aller dans le bon module (UserForm1 ou UserForm2), sans passer par une fonction....donc sans pourvoir récupérer une valeur d'etat des bouton qui font apparaitre l'userForm....
 
c'est galere n'est ce pas!
 
++

n°1378574
lden
Posté le 01-06-2006 à 09:30:05  profilanswer
 

svp les copains!!!!
 


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

  Initialisation de deux UserForm!

 

Sujets relatifs
copier un graphique dans un userform[RESOLU] initialisation de maps
interdire la modification d'une feuille excel sauf avec userformlien hypertexte dans un userform
Vba ( Userform + decalage vers la droite d'enregistrement)Initialisation d'une variable publique
Initialisation sur MAXQVB via Excel : comment fermer un userForm ?
Userform Listbox et affichage d'infoCaractères possibles à écrire sur une userform
Plus de sujets relatifs à : Initialisation de deux UserForm!


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