Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2012, 13h10   #1
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 94
Points : 14
Points : 14
Par défaut probleme de userform

Salut a tous
petit problème :

j'ai un user form1 : form1
qui possede plein de labels només label1 label2 etc...

quand je clic sur un des label j'ai fait en sorte qu'il ouvre le form2

ça ça marche pas de probleme

j'ai fais aussi en sorte que si je clic sur label1 du form1 cela ouvre le form2 en inscrivant label1 dans un textbox du form2

et la est le probleme
je clic une fois cela affiche rien dans le textbox du form2
je ferme le form2
je reclic et la cela s'affiche

comment puis-je faire pour que des le clic le forme s'ouvre et dans le texte box le label s'affiche
UDSP50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 13h31   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Pourrais-tu donner ton code actuel pour que l'on ait une base sur laquelle partir ? Je pense qu'en faisant un Load, remplir la textbox, puis un Show, ça devrait marcher, mais ça dépend de pas mal de choses.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 13h34   #3
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 696
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 696
Points : 1 448
Points : 1 448
Bonjour,

Essaie en passant les boites de dialogue en mode non modal.
etCordialement.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 13h42   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
@gFZT82 : Effectivement, ça peut marcher, mais il faut qu'il soit sûr que le mode modal lui convient. Cela devrait être une question de conception et pas une astuce pour résoudre un problème d'initialisation avant affichage.

Au cas où pour UDSP50 :
- En mode modal, une fois l'UserForm ouvert, le code qui l'a ouvert est mis en suspend et attends la fermeture avant de continuer à s'exécuter. (Comme un msgBox par exemple).
- En mode non modal, l'UserForm s'affiche mais le code continu à s'exécuter. Le comportement de l'USF et du reste du programme deviennent "indépendant" (on peut passer de l'un à l'autre... Un peu comme une barre d'outil par exemple)
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 21h02   #5
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu!!!

bonsoir
le userform1 en mode non modal bien sur !!!!
dans le module du userform1
Code :
1
2
3
4
5
6
7
8
9
dim lemot as variant
private sub Label1_click()
lemot=me.label1.caption
userform2.show0
 
userform2.textbox1 = lemot
 
 
end sub

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2012, 09h26   #6
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 774
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 774
Points : 2 094
Points : 2 094
Bonjour,

Si la Form doit être modale (pour obliger une saisie par exemple), il te faut passer par une variable et récupérer sa valeur à l'ouverture de l'UserForm2.
Dans le module de l'UserForm1 :
Code :
1
2
3
4
5
6
7
8
9
 
Public MaVar As String
 
Private Sub Label1_Click()
 
    MaVar = Label1.Caption
    UserForm2.Show
 
End Sub
Dans le module de l'UserForm2 :
Code :
1
2
3
4
5
6
 
Private Sub UserForm_Activate()
 
    TextBox1.Text = UserForm1.MaVar
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/01/2012, 09h56   #7
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Pourquoi pas tout simplement dans userForm1 :
Code :
1
2
3
Load UserForm2
UserForm2.TextBox1.Text = "Toto"
UserForm2.Show
Et je réitère, le choix du mode modal ou non est une question de conception, pas une astuce pour remplir un userform avant son affichage
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h56.


 
 
 
 
Partenaires

Hébergement Web