msgbox imnriquées

chewwe1602

XLDnaute Nouveau
Bonjour a tous,

Je suis toujours sur mon programme de fabrication de fenêtre. la je cale sur les solutions de sortie d'un userform1.
En pièce jointe le fichier :

Le problème majeur se situe au niveau de la fin de code du bouton valider.
Je n'arrive pas a bien faire fonctionner les différentes options de sortie. a savoir, ce que je souhaiterai est :

Bouton valider clic

-> voulez vous ajouter ce chassis a une commande?
le oui: - provoque l'envoi de toute les références ayant une quantité vers le bon de commande ( cette partie je ne l'ai pas encore mise en place mais j'ai deja un bout de code quelque part sur un autre fichier excel qui me le fait . En attendant j'ai remplace ce code par un affichage du Bon de Commande. mais ca ne focntionne pas )

- ouvre une seconde msgbox "voulez vous créer un nouveau chassis?" *si oui réinitialisation de l'userform1 . Sauf pour l'optionbutton 3 et 4 le CBfeuillure et le CB recouvrement. ( la je seche un peu.)
*si non msgbox " voulez vous imprimer ( la le code d'impression fonctionne bien )
le non : sortie de l'userform et retour a la feuille parametre.


Quelqu'un peut il m'aiguiller sur ce qu'il ne va pas a ce niveau la?

D'avance merci. :)
 

Pièces jointes

  • Projet Programme fenetre ss donnée conf .xlsm
    109.5 KB · Affichages: 25

camarchepas

XLDnaute Barbatruc
Re : msgbox imnriquées

Bonjour ,

Je vois que le travail ce poursuit .

Les commentaires commencent à venir , ça c'est bien .

2 petites suggestions :

La 1ere :
Le code pour l'impression est un code à peut prêt standard , je pense qu'il serait plus à sa place dans un module standard avec un appel procédure dans le userform , cela améliorerait la compréhension , la mise au point et éventuellement la réutilisation de cette routine ailleurs.

la 2eme :
l'ordre des questions ne me parait optimisé ,

en effet tu demande 2 fois Voulez vous créer un autre chassis,
perso , j'aurais demandé si l'on voulait imprimer d'abort , et ensuite si je voulais créer un autre chassis ,

Cela permet de gagner en mise au point.

Je continue à analyser ton appli , et oui , s'en est une maintenant,

ton acharnement t'a surement rapporté pas mal de mal de crâne , mais aussi la fierté d'avoir réussit à construire quelque chose.

A bientôt
 

camarchepas

XLDnaute Barbatruc
Re : msgbox imnriquées

Re

J'ai vu quelques nouvelles instructions , bien je vois que tu découvres petit à petit ...

Alors pour sortir du userform , si tu veux conserver des réglages , autrement dit ne pas passer par l'évenementiel initialize de l'userform , tu peux utiliser userform1.hide qui te cachera simplement ton userform.
si tu veux repasser par l'initialize alors il faut d'abort faire un unload userform1

j'ai vu que tu essayais d'appeler le userform1 alors qu'il était déjà ouvert , ce n'est pas possible .

donc dans tous les cas il faudra sortir par une des méthode ci dessus et la gestion de la reprise,

en fait se ferait dans ta routine du module 1 :

Code:
Sub afficherboitededialogue2()
Dim Reponse As Byte
Do
 UserForm1.Show
 Reponse = MsgBox(" encore ", vbYesNo)
Loop Until Reponse <> vbYes
 
End Sub

voilà , j'espère d'avoir débloqué un peu

si besoin de plus , plus , ou d'explications n'hésites pas
 

chewwe1602

XLDnaute Nouveau
Re : msgbox imnriquées

Bonjour Camarchepas.

Effectivement j'avance, ça prend forme.

La 1ere :
Le code pour l'impression est un code à peut prêt standard , je pense qu'il serait plus à sa place dans un module standard avec un appel procédure dans le userform , cela améliorerait la compréhension , la mise au point et éventuellement la réutilisation de cette routine ailleurs.

Je croyais que du userform, on ne pouvait pas appeller une procedure qui se trouve dans un module? Du coup j'avou que je suis un peu perdu .

Concernant l'ordre des question , je voulais imprimer le bon de commande une fois que la personne qui utilise l'appli a rentré tous ses châssis. ainsi il passe une commande unique comprenant l'ensemble des pieces pour la totalité de son chantier.
De ce fait, il est important que je lui demande si il veut rajouter un châssis avant d'imprimer. Maintenant je pourrais tout autant externaliser la fonction d'impression. comme cela ça réglerai le problème.
Concernant la double question c'est sans doute a cause de mon elseif qui se trouve en bas. Mais je vois pas trop comment rentrer une seconde réponse a la même question sans le elseif then.
C'est sur ce point que j’avais un peu besoin d'aide.

Concernant ton second post, je vais étudier cela de plus prés. effectivement je n’avais pas pensé que mon userform était toujours ouvert lorsque je demandais a se qu'il s'ouvre.

Je te remercie de tes réponses qui m'apporte toujours autant de clef.

Je reviendrai sans doute d'ici une semaine avec de nouvelles question. Pour le moment place au vacances :)

A bientot.
 

Discussions similaires

Réponses
4
Affichages
342

Statistiques des forums

Discussions
312 388
Messages
2 087 872
Membres
103 672
dernier inscrit
ammarhouichi