Userform Excel
Résolu
Graphick
Messages postés
118
Statut
Membre
-
xav3601 Messages postés 3390 Statut Membre -
xav3601 Messages postés 3390 Statut Membre -
Bonjour,
Jai un user form1 avec bouton click que quand je clic un ouvre userform2 ouvre, jaimerais que quand je clic jouvre le user form 2 mais que le userform 1 se ferme
voila ce que jai fais c tout simple mais bon je suis novice à la matiere
userform2.show
userform1:unload me
end sub
Cest quoi mon erreur???
Jai un user form1 avec bouton click que quand je clic un ouvre userform2 ouvre, jaimerais que quand je clic jouvre le user form 2 mais que le userform 1 se ferme
voila ce que jai fais c tout simple mais bon je suis novice à la matiere
userform2.show
userform1:unload me
end sub
Cest quoi mon erreur???
A voir également:
- Userform Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
12 réponses
bonjour
Mets nous ton exemple sur http://www.cijoint.fr/
car il doit y avoir un autre problème : la formule que j'ai mise fonctionne tout à fait.
Mets nous ton exemple sur http://www.cijoint.fr/
car il doit y avoir un autre problème : la formule que j'ai mise fonctionne tout à fait.
Bonjour,
A mon avis il faut mettre la commande unload userform1 dans le code d'initialisation de la userform2..
Sinon il va attendre la fin de l'execution du userform 2 pour unloader le userform 1.
A mon avis il faut mettre la commande unload userform1 dans le code d'initialisation de la userform2..
Sinon il va attendre la fin de l'execution du userform 2 pour unloader le userform 1.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
C'est exact ou alors il faut lancer
UserForm1.Show 0
Puis mettre dans le bouton
UserForm2.Show 0
Unload userform1
Je préfère fonctionner en modal pour la liberté d'utilisation mais cela ne fonctionne pas en excel 97
C'est exact ou alors il faut lancer
UserForm1.Show 0
Puis mettre dans le bouton
UserForm2.Show 0
Unload userform1
Je préfère fonctionner en modal pour la liberté d'utilisation mais cela ne fonctionne pas en excel 97
http://www.cijoint.fr/cjlink.php?file=cj200811/cijK5T6HIO.xls
voici le petit test bon cest pas mon programme mais la fonction que je veux est semblable
merci encore de votre aide
voici le petit test bon cest pas mon programme mais la fonction que je veux est semblable
merci encore de votre aide
Une autre question.
Si Exemple jai des feuilles excel plus précisement 120 feuilles 4 page chacune mise en page chacune à la meme base mais avec des petit dessin différent. Donc jai plus de 10 mo de mise en page donc si je rajoute de la prog en plus ca vas etre enorme. Voila ma question si je divise en plusieurs classeurs et que dans le premier jai un user form avec des bouton option est ce possible si je coche bouton 1 jouvre le classseur 1 et ainsi de suite...... est ce que ca va bien fonctionner si c possible
Pourquoi faire ca .... cest 120 feuilles sont des modele Ex: de voiture. mais je voudrais les remplir en simple clic dans des userform avec des boutons options. Ex: quelle marque Renault megane je valide la feuille renault est activé et jarrive dans un autre user form quelle couleur je coche bleu bleu sinscrit dans la feuille megane je valide et un autre userform ouvre etc .......
merci
Si Exemple jai des feuilles excel plus précisement 120 feuilles 4 page chacune mise en page chacune à la meme base mais avec des petit dessin différent. Donc jai plus de 10 mo de mise en page donc si je rajoute de la prog en plus ca vas etre enorme. Voila ma question si je divise en plusieurs classeurs et que dans le premier jai un user form avec des bouton option est ce possible si je coche bouton 1 jouvre le classseur 1 et ainsi de suite...... est ce que ca va bien fonctionner si c possible
Pourquoi faire ca .... cest 120 feuilles sont des modele Ex: de voiture. mais je voudrais les remplir en simple clic dans des userform avec des boutons options. Ex: quelle marque Renault megane je valide la feuille renault est activé et jarrive dans un autre user form quelle couleur je coche bleu bleu sinscrit dans la feuille megane je valide et un autre userform ouvre etc .......
merci
bonjour
En fait, tu raisonnes ta programmation de manière séquentielle en bloquant l'utilisateur sur un chemin à sens unique et bordé de murs. (je caricature bien sûr, c'est pour te faire voir le schéma).
Excel et la programmation VBA fonctionnent en événementiel et tu es sur un terrain de golf tout seul et donc tu dois pouvoir choisir ton parcours selon l'inspiration du moment et tant pis pour toi si tu sors du terrain, il suffit de revenir.
Il me semble que pour en revenir à ton programme, tu n'as pas besoin de dizaines de formulaires, mais plutôt de quelques unités au maximum paramétrables qui vont alors documenter la bonne feuille, au bon endroit.
Tu peux aller mettre les infos sur chacune des 120 feuilles avec un seul code utilisant les fonctions adéquates.
La taille du code est minime par rapport aux informations et aux images éventuelles. Par exemple, si tu as une formule un peu complexe que tu répètes 10 fois par feuille, il te suffit de la nommer et tu gagnes des kilos octets pour ton code.
En fait, tu raisonnes ta programmation de manière séquentielle en bloquant l'utilisateur sur un chemin à sens unique et bordé de murs. (je caricature bien sûr, c'est pour te faire voir le schéma).
Excel et la programmation VBA fonctionnent en événementiel et tu es sur un terrain de golf tout seul et donc tu dois pouvoir choisir ton parcours selon l'inspiration du moment et tant pis pour toi si tu sors du terrain, il suffit de revenir.
Il me semble que pour en revenir à ton programme, tu n'as pas besoin de dizaines de formulaires, mais plutôt de quelques unités au maximum paramétrables qui vont alors documenter la bonne feuille, au bon endroit.
Tu peux aller mettre les infos sur chacune des 120 feuilles avec un seul code utilisant les fonctions adéquates.
La taille du code est minime par rapport aux informations et aux images éventuelles. Par exemple, si tu as une formule un peu complexe que tu répètes 10 fois par feuille, il te suffit de la nommer et tu gagnes des kilos octets pour ton code.
Merci je comprend tres bien ce que tu me dit, mais comme je te disais jai 120 feuilles déja mise en page car cest les trame en plus jai environ 5000 a 6000 autre possibilité donc 6000 variante cest bcoup de code. Donc ce que jai fais cest plutot mettre en page exemple des mesures dessiné dans excel reste qua mettre les bonne mesure a coté.
Peut etre jaurais dû utiliser autre chose comme c++ mais comme je dit je suis encore débutant en la matière je programme vraiment que depuis 1 semaine mais bon.
Tu m'aiderais bcoup si tu me donnerais la solution pour fermer userform precedent dans le code suivant
If OptionButton19.Value = True Then
str = OptionButton19.Caption
Worksheets("yamaska 8x10").Range("J62").Value = str
Worksheets("yamaska 8X10").Range("P62").Value = "Blanc"
UserForm13.Show
End If
End Sub
Donc apres le userform13.show je veux que le userform 12 se ferme ou se cache jai utilisé hide et unload et sans succès.
Merci pour ta carricature parce que quand meme cest pas évident de comprendre comment fonctionne la prog en si peu de temps
Peut etre jaurais dû utiliser autre chose comme c++ mais comme je dit je suis encore débutant en la matière je programme vraiment que depuis 1 semaine mais bon.
Tu m'aiderais bcoup si tu me donnerais la solution pour fermer userform precedent dans le code suivant
If OptionButton19.Value = True Then
str = OptionButton19.Caption
Worksheets("yamaska 8x10").Range("J62").Value = str
Worksheets("yamaska 8X10").Range("P62").Value = "Blanc"
UserForm13.Show
End If
End Sub
Donc apres le userform13.show je veux que le userform 12 se ferme ou se cache jai utilisé hide et unload et sans succès.
Merci pour ta carricature parce que quand meme cest pas évident de comprendre comment fonctionne la prog en si peu de temps
bonjour
cest pas évident de comprendre comment fonctionne la prog en si peu de temps
Cela, je veux bien le comprendre et certains ont un mal fou à rentrer dans le système événementiel de programmation alors que dans la vie courante, cela ne les dérange pas d'allumer l'autoradio en conduisant par exemple.
Cela veux dire que l'utilisateur a le droit d'embrayer pour partir ou de régler les rétros ou d'allumer le poste : c'est lui qui décide et le programme gère les événements qu'il déclenche.
Ainsi, si tu utilises des variables pour les zones que j'ai mises en gras dans ton code tu n'as pas à écrire une userform pour chaque fonction.
If OptionButton19.Value = True Then
str = OptionButton19.Caption
Worksheets("yamaska 8x10").Range("J62").Value = str
Worksheets("yamaska 8X10").Range("P62").Value = "Blanc"
UserForm13.Show
End If
Pour fermer ton écran, dans UserForm_Initialize() de UserForm13 tu mets
Unload userform12
cest pas évident de comprendre comment fonctionne la prog en si peu de temps
Cela, je veux bien le comprendre et certains ont un mal fou à rentrer dans le système événementiel de programmation alors que dans la vie courante, cela ne les dérange pas d'allumer l'autoradio en conduisant par exemple.
Cela veux dire que l'utilisateur a le droit d'embrayer pour partir ou de régler les rétros ou d'allumer le poste : c'est lui qui décide et le programme gère les événements qu'il déclenche.
Ainsi, si tu utilises des variables pour les zones que j'ai mises en gras dans ton code tu n'as pas à écrire une userform pour chaque fonction.
If OptionButton19.Value = True Then
str = OptionButton19.Caption
Worksheets("yamaska 8x10").Range("J62").Value = str
Worksheets("yamaska 8X10").Range("P62").Value = "Blanc"
UserForm13.Show
End If
Pour fermer ton écran, dans UserForm_Initialize() de UserForm13 tu mets
Unload userform12
salut Gbinforme
Je me permet de te demander de m'aider encore une fois,
J'ai un user form avec des bouton option, si je coche le bouton 3 J'ai des traits qui doivent s'ajouter sur ma feuilles 2 de mon classeur, le problème est qui vont toujours sur ma feuilles 1
Pour dessiner cest trait jai fais appel à enregistreur de macro donc cest peut etre mon probleme, je te laisse mon bout de code si tu peux me dire comment faire pour les faire apparaitre seulement sur ma feuil 2
Merci
Jean-Francois
If OptionButton3.Value = True Then
Worksheets("Feuil1").Range("H9").Value = "8X8"
Worksheets("Feuil1").Range("C16").Value = "6/12"
Worksheets("Feuil2").Range("A4,A101,A198,A292").Value = "8X8"
Worksheets("Feuil2").Range("X4,X101,X198,X292").Value = "6/12"
ActiveSheet.Shapes.AddLine(117#, 232.5, 156#, 232.5).Select
ActiveSheet.Shapes.AddLine(156#, 232.5, 156#, 292.5).Select
ActiveSheet.Shapes.AddLine(59.25, 293.25, 156#, 293.25).Select
Selection.ShapeRange.Flip msoFlipHorizontal
ActiveSheet.Shapes.AddLine(367.5, 240#, 390#, 240#).Select
ActiveSheet.Shapes.AddLine(390#, 240#, 390#, 292.5).Select
ActiveSheet.Shapes.AddLine(312#, 292.5, 390#, 292.5).Select
Selection.ShapeRange.Flip msoFlipHorizontal
Ps jai essayé ajouter devant chaque activesheet Worksheets("feuil2") et sans succès
Je me permet de te demander de m'aider encore une fois,
J'ai un user form avec des bouton option, si je coche le bouton 3 J'ai des traits qui doivent s'ajouter sur ma feuilles 2 de mon classeur, le problème est qui vont toujours sur ma feuilles 1
Pour dessiner cest trait jai fais appel à enregistreur de macro donc cest peut etre mon probleme, je te laisse mon bout de code si tu peux me dire comment faire pour les faire apparaitre seulement sur ma feuil 2
Merci
Jean-Francois
If OptionButton3.Value = True Then
Worksheets("Feuil1").Range("H9").Value = "8X8"
Worksheets("Feuil1").Range("C16").Value = "6/12"
Worksheets("Feuil2").Range("A4,A101,A198,A292").Value = "8X8"
Worksheets("Feuil2").Range("X4,X101,X198,X292").Value = "6/12"
ActiveSheet.Shapes.AddLine(117#, 232.5, 156#, 232.5).Select
ActiveSheet.Shapes.AddLine(156#, 232.5, 156#, 292.5).Select
ActiveSheet.Shapes.AddLine(59.25, 293.25, 156#, 293.25).Select
Selection.ShapeRange.Flip msoFlipHorizontal
ActiveSheet.Shapes.AddLine(367.5, 240#, 390#, 240#).Select
ActiveSheet.Shapes.AddLine(390#, 240#, 390#, 292.5).Select
ActiveSheet.Shapes.AddLine(312#, 292.5, 390#, 292.5).Select
Selection.ShapeRange.Flip msoFlipHorizontal
Ps jai essayé ajouter devant chaque activesheet Worksheets("feuil2") et sans succès
Jai essayé comme ca et sans resultat erreur de syntaxe
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(117#, 232.5, 156#, 232.5).Select
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(156#, 232.5, 156#, 292.5).Select
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(59.25, 293.25, 156#, 293.25).Select
Worksheets("Feuil2").SelectSelection.ShapeRange.Flip msoFlipHorizontal
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(367.5, 240#, 390#, 240#).Select
Worksheets("Feuil2").SelectActiveSheet.Shapes.AddLine(390#, 240#, 390#, 292.5).Select
Worksheets("Feuil2").SelectActiveSheet.Shapes.AddLine(312#, 292.5, 390#, 292.5).Select
Worksheets("Feuil2").Select Selection.ShapeRange.Flip msoFlipHorizontal
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(117#, 232.5, 156#, 232.5).Select
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(156#, 232.5, 156#, 292.5).Select
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(59.25, 293.25, 156#, 293.25).Select
Worksheets("Feuil2").SelectSelection.ShapeRange.Flip msoFlipHorizontal
Worksheets("Feuil2").Select ActiveSheet.Shapes.AddLine(367.5, 240#, 390#, 240#).Select
Worksheets("Feuil2").SelectActiveSheet.Shapes.AddLine(390#, 240#, 390#, 292.5).Select
Worksheets("Feuil2").SelectActiveSheet.Shapes.AddLine(312#, 292.5, 390#, 292.5).Select
Worksheets("Feuil2").Select Selection.ShapeRange.Flip msoFlipHorizontal
Je voulais dire tu le met avant de taper tes lgnes:
If OptionButton3.Value = True Then
Worksheets("Feuil1").Range("H9").Value = "8X8"
Worksheets("Feuil1").Range("C16").Value = "6/12"
Worksheets("Feuil2").Range("A4,A101,A198,A292").Value = "8X8"
Worksheets("Feuil2").Range("X4,X101,X198,X292").Value = "6/12"
Worksheets("feuil2").select
ActiveSheet.Shapes.AddLine(117#, 232.5, 156#, 232.5).Select
ActiveSheet.Shapes.AddLine(156#, 232.5, 156#, 292.5).Select
ActiveSheet.Shapes.AddLine(59.25, 293.25, 156#, 293.25).Select
Selection.ShapeRange.Flip msoFlipHorizontal
ActiveSheet.Shapes.AddLine(367.5, 240#, 390#, 240#).Select
ActiveSheet.Shapes.AddLine(390#, 240#, 390#, 292.5).Select
ActiveSheet.Shapes.AddLine(312#, 292.5, 390#, 292.5).Select
Selection.ShapeRange.Flip msoFlipHorizontal
If OptionButton3.Value = True Then
Worksheets("Feuil1").Range("H9").Value = "8X8"
Worksheets("Feuil1").Range("C16").Value = "6/12"
Worksheets("Feuil2").Range("A4,A101,A198,A292").Value = "8X8"
Worksheets("Feuil2").Range("X4,X101,X198,X292").Value = "6/12"
Worksheets("feuil2").select
ActiveSheet.Shapes.AddLine(117#, 232.5, 156#, 232.5).Select
ActiveSheet.Shapes.AddLine(156#, 232.5, 156#, 292.5).Select
ActiveSheet.Shapes.AddLine(59.25, 293.25, 156#, 293.25).Select
Selection.ShapeRange.Flip msoFlipHorizontal
ActiveSheet.Shapes.AddLine(367.5, 240#, 390#, 240#).Select
ActiveSheet.Shapes.AddLine(390#, 240#, 390#, 292.5).Select
ActiveSheet.Shapes.AddLine(312#, 292.5, 390#, 292.5).Select
Selection.ShapeRange.Flip msoFlipHorizontal