Mes UserForms ne se ferme pa malgrè Unload Me

Résolu/Fermé
Fab - 20 nov. 2008 à 11:15
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 24 nov. 2008 à 11:02
Bonjour le forum,

Alors voilà j'ai trois petites questions qui reste sans réponce après 2 jours de recherches (enfin surtout pour la dernière^^).

- 1ère question: pourquoi malgrè la commande
UserForm2.Show
unload me
La UserForm1 reste "cachée" derrière la 2, en effet quand je déplace la 2 surprise la 1 est toujours derrière :( ?

-2ème question: pourquoi lorsque j'actives dans les propriétés d'une textbox Scrollbar celle ci n'apparait pas lors du lancement de la userform?

- et dernière question la plus dure lol comment faire pour mettre des conditions dans une combobox. Je m'expliques, j'ai deux combobox une qui propose une criticité (1,2,.. à 10) et l'autre un type d'action (réglementation, 1er odre, 2nd odre). Et j'aimerai pouvoir lorsque l'utilisateur choisi réglementation qu'il y a une restriction au niveau de la criticité et qu'il ne puisse selectionner qu'un chiffre supérieur à 7.

Merci d'avance à celui ou celle qui pourra m'aider

Fab
A voir également:

9 réponses

xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
20 nov. 2008 à 11:19
Alors pour repondre en vba il me semble que le me ne fonctione pas!
alors il faut utiliser:
unload userform1 -> vba
ou
me.close -> vb
mais plus certainement la premiere

ensuite pour ta 3eme question je te conseillerais une liste box et non combobox deja.

pour la deux je sais pas je n'ai jamais utilisé scroll bar
0
Bonjour xav3001,

Oui donc escuser moi je suis en VBA ^^, j'ai essayé votre formule Unload UserFomX le seul problème c'est que la 1er userform est malgrè tout toujours présente en arrière plan quand je déplace la userform n°2.

Pour la troisième question pourquoi le fait d'utiliser une listbox au lieu d'une combobox simplifira mon problème de restriction, y'a t'il une fonction faisant cela au sein d'une listBox??
0
hello

je suis pas tres basic donc je pourrais pas répondre aux deux premières questions.
par contre, je pense que ta seconde combobox va devoir recalculer son contenu disponible à chaque changement de valeur de la première combobox.
ie:
lorsque cbo1.Text change
=> si valeur = 1 alors cbo2.liste = 'val1|val2|val3|val4'
=> si valeur = 2 alors cbo2.liste = 'val1|val2|val3|val4|val5'
=> si valeur = 1 alors cbo2.liste = 'val1|val2|val4'
etc
ou alors, le fin du fin, tu écris une nouvelle classe : la combo pilotée par une combo
mais de toutes façons, tu mettras à l'intérieur du code du genre ci-dessus
0
aaaaargh le copier/coller...
le dernier 1 devait être 3

la honte sur moi pour 107 ans :-(
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311 > othanga
20 nov. 2008 à 11:24
hehe!
c'est mieu de faire ce genre de boulette sur un forum que dans un mail professionel :-)
0
Fab > othanga
20 nov. 2008 à 11:27
bonjour othanga,

je vais essayer tout de suite le petit bout de code, et je vous remercie d'avance pour votre réponce rapide.
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 243
20 nov. 2008 à 11:29
bonjour à tous

quand tu mets USF2.show, le unload me s'effectuera après la fermeture de USF2
maintenant ce que tu peux faire

me.hide ' cache l'userform en cours
Userform2.show
Unload me
0
Bonjour et merci à vous wilfried_42,

car ma première question est résolvée plus que deux ^^
0
pour ma 3ème question j'ai essayé se code mais il ne fonctionne pas :(

If ComBoBox14.value= "1er ordre" Then
Combobox14.value = combobox14.list(.listIndex "1,2,3,4"))
End If
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
20 nov. 2008 à 11:47
Je t'ai conseillé une listebox car avec une combobox peut ajouter une valeur dans la liste il me semble alors qu'avec la listbox, la liste reste figé!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 243
20 nov. 2008 à 11:45
re:

pour la 3eme, je n'ai pas toutes les cartes, (j'ai pas tout compris dans les details)
peux tu poster ton fichier ?
tu vas sur ce lien : https://www.cjoint.com/index.php
tu charges ton fichier et tu crées le lien
puis tu postes le lien ici

@ te lire
0
Alors ce serait avec grand plaisir mais j'ai un petit menu gros problème avec cijoint, je n'ai pas tout dit dans le forum mes je suis stagiaire dans une entreprise qui possède des par-feu et autre truc du genre et qui m'empêche d'aller sur des site donc cijoint qui lui ne fonctionne carrement pas.

je vais donc expliquer le mieux possible ^^.
j'ai une combobox qui contient les nombres de 1 à 10 qui représentent une échelle de criticité.
une second combobox qui informe sur le domaine avec trois choix "réglementation","1er degré","2nd degré", hors il est impossible d'avoir une réglementation 6,5,4,3,2,1 elle est obligatoirement au dessus de 7 sur l'echelle de criticité.
Ce que je souhaite c'est que quand un utilisateur choisi réglementation il ne puisse choisir un nombre inférieur à 7 dans la seconde combobox.

Pour info mes Rowsources pour ces deux combobox sont situées sur une feuille excel.

J'espère avoir été un minimum limpide ^^.

Merci d'avance
0
Dsl pour les nombreuses fautes d'orthographe je m'en suis rendu compte que maintenant c'est vraiment pas beau du tout dsl encore
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
20 nov. 2008 à 12:03
Alors dans l'ordre:
1-utiliser une listebox pour ne pas permettre a l'user de modifier la liste, puis utiliser ce code:
initialisation:
userformX.listbox1.liste = Array("1","2","3","4","5",.."10")


dans le sub de combobox1


lorsque cbo1.Text change
=> si valeur = 1 alors
listbox1.clear
listbox1.liste = array(...)

voila j'espere avoir ete clair et efficace :)
0
Donc si j'ai bien compris il faut que j'ai ce code là:

Sub Userform Initialize()
userformX.listbox1.List = Array("1","2","3","4","5",.."10")
End Sub

Sub ComboBox14 Change()
If value = 1 Then
listbox1.clear
listbox1.list = array("7","8","9","10")
End If

J'ai essayé mais ça ne marche pas :(
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
20 nov. 2008 à 13:39
Sub ComboBox14 Change()
If value = 1 Then
userform1.listbox1.clear
userform1.listbox1.list = array("7","8","9","10")
End If
peut etre comme ca
0
Bonjour xav301,

hélas le code ne marche pas mais je vais comme même mettre résolu à la question car le titre étant "Mes UserForms ne se ferment pas malgrè Unload Me" et que ce problème est résolu ^^.

Je travails encore sur le code mais si vous avez d'autre idées je suis preneurs mais je pense que je tiens le bon bout ^^.

Bonne journée à vous
0
Bonjour xav3601,

J'ai essayé le code et il fonctionne même avec une combobox. le voilà:

Private Sub UserForm_Initialize()
Me.ComboBox3.List = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
End Sub

Private Sub ComboBox4_Change()
If Me.ComboBox4.ListIndex = 1 Then
ComboBox3.Clear
ComboBox3.List = Array("7", "8", "9", "10")
End If

If Me.ComboBox4.ListIndex = 2 Then
ComboBox3.Clear
ComboBox3.List = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
End If

If Me.ComboBox4.ListIndex = 3 Then
ComboBox3.Clear
ComboBox3.List = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
End If
End Sub

Le seul problème est que dnas la dernière partie c'est un peu brouillion mais je suis débutant alors ça me satisfait lol

Merci à vous xav3601
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
24 nov. 2008 à 11:02
oui oui ca fonctionne avec la combobox!
mais je pense que avec une combobox tu as le choix de taper une valeur dans la combobox!
donc l'utilisateur a quand meme le choix
0