Vba userform et macro problème
Résolu/Fermé
A voir également:
- Vba userform et macro problème
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
4 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 août 2010 à 11:45
10 août 2010 à 11:45
Bonjour,
Il semble que le problème se trouve ici:
Show() ouvre le formulaire et Unload() le ferme juste après.
Load nomDuFormulaire ne sert pas à grand chose.
Je n'ai pas tout lu, c'est assez rébarbatif de se taper tout le code à déchiffrer.
;o)
Il semble que le problème se trouve ici:
Identification.Show Unload Identification
Show() ouvre le formulaire et Unload() le ferme juste après.
Load nomDuFormulaire ne sert pas à grand chose.
Je n'ai pas tout lu, c'est assez rébarbatif de se taper tout le code à déchiffrer.
;o)
Et donc il faudrait que j'enlève unload Identification ? c'est bien ça ? mais je crois que si je fais ça il restera ouvert alors que je veux qu'il se ferme avant de passer aux autres. C'est vrai que mon code est assez long mais j'ai pas trouver plus simple pour faire ce que je voulais. Passer en base de données serait surement mieux mais pr le peu de données qu ej'ai ça ne sert à rien.
en fait mon problème se situe soit dans ce code là :
Private Sub Quitter_Click()
Unload Identification
NombreQuestion = 0
End Sub
soit dans celui ci :
If Identification.Quitter Then
Exit Sub
Else
....
End if
Quitters.Show
End Sub
Je veux juste que après avoir cliquer sur le bouton quitter du formulaire Identification il arrête Saisie et il ouvre Quitters. mais il m'ouvre les autres quand même ! Je sais pas si je suis très claire dans ce que je veux. Merci déjà d'avoir répondu ;)
Private Sub Quitter_Click()
Unload Identification
NombreQuestion = 0
End Sub
soit dans celui ci :
If Identification.Quitter Then
Exit Sub
Else
....
End if
Quitters.Show
End Sub
Je veux juste que après avoir cliquer sur le bouton quitter du formulaire Identification il arrête Saisie et il ouvre Quitters. mais il m'ouvre les autres quand même ! Je sais pas si je suis très claire dans ce que je veux. Merci déjà d'avoir répondu ;)
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 août 2010 à 12:35
10 août 2010 à 12:35
Le plus simple est de mettre ton fichier sur https://www.cjoint.com/ et de coller ici le lien.
NombreQuestion, identification.Quitter etc pour moi ne représentent rien. Je n'ai aucune idée de ce que cela peut être.
;o)
NombreQuestion, identification.Quitter etc pour moi ne représentent rien. Je n'ai aucune idée de ce que cela peut être.
;o)
https://www.cjoint.com/?ikooONQG3g
Voici le lien ça sera surement plus facile à comprendre comme ça.
Encore merci de votre aide
Voici le lien ça sera surement plus facile à comprendre comme ça.
Encore merci de votre aide
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 août 2010 à 14:35
10 août 2010 à 14:35
Il faut rajouter ça dans le formulaire Identification:
;o)
Private Sub Quitter_Click() Unload Me NombreQuestion = 0 End End Sub
;o)
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
10 août 2010 à 12:49
10 août 2010 à 12:49
Bonjout,
J'ai commencé à débugué ton code mais je me suis vite arrèté.
Il n'y a aucune logique dans ta démarche et si ça ne fonctionne pas c'est bien pour cela.
Tu dois entièrement revoir ta conception.
Moi ce que j'en dis... c'est à toi de voir. Toutefois pour répondre à ta question.
Dans un module général mettre un Drapeau par exemple.
Dans le bouton quitter de tes autres UF mettre Quitter = True
et dans la boucle de ton premier UF
Et ce code aussi n'est pas valable, cette question ne sera jamais appellée dés qu'un des TextBox aurra une lettre dedans.
Faut remplacer les AND par des OR
A+
J'ai commencé à débugué ton code mais je me suis vite arrèté.
Il n'y a aucune logique dans ta démarche et si ça ne fonctionne pas c'est bien pour cela.
Tu dois entièrement revoir ta conception.
Moi ce que j'en dis... c'est à toi de voir. Toutefois pour répondre à ta question.
Dans un module général mettre un Drapeau par exemple.
Public Quitter as Boolean
Dans le bouton quitter de tes autres UF mettre Quitter = True
et dans la boucle de ton premier UF
For NumQuestion = 1 To (NombreQuestion) section = Sheets("Saisie initiale").Cells(3, NumQuestion + 13).Value Select Case section 'Ne sert a rien, peu être déterminer dans le design. Case 1 Questions2.TexteLibre.Visible = True Questions2.Ok.Visible = True Questions2.TexteLibre.Enabled = True Questions2.Ok.Enabled = True End Select Questions2.Caption = Sheets("Saisie initiale").Cells(2, NumQuestion + 13).Value Load Questions2 'inutile, double emploi avec Show Questions2.Show Unload Questions2 'inutile sera déjà fermer par le bouton quitter If Quitter Then Quitter = False: Exit Sub Next NumQuestion Load Questions3 'inutile, double emploi avec Show Questions3.Show Unload Questions3 'inutile sera déjà fermer par le bouton quitter
Et ce code aussi n'est pas valable, cette question ne sera jamais appellée dés qu'un des TextBox aurra une lettre dedans.
If Me.DateEr.Value = "" And Me.Service.Value = "" And Me.Fonction.Value = "" And Me.Concerne.Value = "" And Me.DateI.Value = "" And Me.Indice.Value = "" Then MsgBox "Il faut que tout les champs soit remplit"
Faut remplacer les AND par des OR
A+
Ok je vais essayer mais c'est vrai que mon code est compliqué mais je m'y connais pas assez pour recommencer complètement autre chose. Merci je vous dirais si ça marche
A++
A++
Bon ben j'ai essayer avec la méthode du Quitter en boolean mais ça ne fonctionne pas non plus. Si vous avez d'autres idées hésitez pas ! J'aimerai bien revoir ma conception mais je vois pas comment j'ai récupéré cette macro et je l'ai adaptée à mon fichier ou du moins j'ai essayé elle marche mais il y ce petit bug que je n'arrive pas à résoudre. Dans un autre fichier ou je l'ai également utilisé ça marche très bien mais il est beaucoup moins compliqué !! Merci d'avance à ceux qui prendrons le temps de jeter un coup d'oeil à mon problème.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 août 2010 à 14:48
10 août 2010 à 14:48