Impossible de masquer une boite de dialogue avec .Hide

Pianoteur - 15 sept. 2015 à 19:19
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 16 sept. 2015 à 11:03
Bonjour,
J'ai créé un classeur Excel avec plusieurs macros.
Je m'explique :

A l'ouverture, la boite de dialogue "CSTE" apparaît afin de rentrer mes constantes pour lesquelles je vais avoir besoin pour mes calculs. Je valide et cette boite de dialogue disparaît via le code CSTE.Hide

Puis, juste derrière j'ai mis la ligne de code Données.Show afin de faire apparaître ma seconde boite de dialogue nommée "Données" qui me sert a renseigner mes valeurs d'expérience. Je valide et cette boite de dialogue disparaît via le code Données.Hide

Juste derrière j'ai placé le code Show.CHOIX afin de faire apparaître ma 3e boite de dialogue intitulée "CHOIX" pour tracer mes graphiques, extraire mes coeff directeurs, etc....
Dans cette même boite de dialogue j'ai un bouton afin d'étudier une autre réaction chimique nommé "Etudier une autre réaction".
Ce bouton va me servir pour effacer les graphiques, données dans le classeur... enfin tout ce qui a été rentré/créé auparavant et ensuite cela fait, revenir a ma boite de dialogue initiale qui est "CSTE".

Les deux dernières lignes de code étant :

CHOIX.Hide
CSTE.Show


Malheureusement, la boite de dialogue "CHOIX" ne veut pas se fermer.
Y a t-il une raison particulière ?
Alors que si j'enlève la ligne de code CHOIX.Hide tout se passe bien, "CSTE" apparaît bien mais, "CHOIX" reste ouverte à l'arrière plan.



D'avance merci pour votre aide !

7 réponses

ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 15/09/2015 à 19:25
Bonjour, Hide n'est pas Unload
et même Unload ne suffit pas si ton code (que l'on ne voit pas) précise autre chose en cas de fermeture de CHOIX

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Je débute dans la programmation VBA, tout fonctionne sauf cette ligne de code CHOIX.Hide (d'ailleurs lorsque je tape le code, .Hide n'apparait pas dans le menu déroulant). Pourquoi concrètement ?

Quelle est la différence avec Unload


Merci
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
15 sept. 2015 à 20:18
SI Hide "n'apparait pas dans le menu déroulant" de l'intellisense, cela veut dire que CHOIX (avec cette orthographe exacte) ,n'est pas un Userform ! (Et Unload ne serait alors pas possible non plus) !
0
Oianoteur
Messages postés
5
Date d'inscription
mardi 15 septembre 2015
Statut
Membre
Dernière intervention
29 septembre 2015

Modifié par Oianoteur le 15/09/2015 à 21:08
"CHOIX" est pourtant bien un UserFrom !
0

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

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 15/09/2015 à 21:16
Je maintiens ce que je t'ai dit, à savoir :
Si tu as bien un userform nommé CHOIX (sans autre caractère caché éventuel), l'intellisense te propose forcément le Hide après le point à la suite de CHOIX.
Sauf si, bien évidemment, tu as par ailleurs affecté dans ton projet le nom "CHOIX" à également autre chose !!! (ce qui serait tellement maladroit que je n'ose pas imaginer que même un débutant ferait cela).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Oianoteur
Messages postés
5
Date d'inscription
mardi 15 septembre 2015
Statut
Membre
Dernière intervention
29 septembre 2015

15 sept. 2015 à 22:41
Ah oui tu avais raison, après multiples vérifications, mon UserForm "CHOIX" avait le même nom que le Frame présent dans cet UserForm !
Merci.

Par contre j'aurais une autre question :
J'ai un bouton sur ma feuille de calcul pour revenir à ma boite de dialogue CHOIX. Est-il possible l'ors de l'ouverture de cette boite de dialogue de rentre un bouton dont par Default = False , de l'ouvrir de telle sorte qu'il soit Default = True ?

J'ai essayé ceci mais cela ne fonctionne pas :

' Afficher la boite de dialogue CHOIX
CHOIX.Show
' Bloquer la sélection / clic pour tracer les graphiques (dispo par défault)
OPTconcentrations.Enabled = False
OPTvitesse.Enabled = False
OPTordre.Enabled = False
TRACER_LES_GRAPHIQUES.Enabled = True
' Rendre le bouton FERMER disponnible (non dispo par défault)
FERMER.Enabled = True
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
16 sept. 2015 à 11:03
Autre question ! (je te rappelle le principe de ce forum ! une seule question, parfaitement isolée, par discussion ... Je vais faire une exception, mais évite dorénavant cela) :
Le code que tu montres et qui concerne des contrôles d'un userform ne peut être exécuté que depuis le userform en cause ou encore en précisant le conteneur de ces contrôles ...
0