Quand on "lance " un UserForm" le choix modal ou non modal est possible :
Mon_UserForm.Show
modal :
Par défaut, un UserForm est "modal" ce qui implique que vous ne pouvez pas travailler sur une feuille tant que l'UserForm est ouvert.
Mon_UserForm.Show 0
non modal :
En mode "non modal", vous pouvez travailler sur une feuille tout en ayant un UserForm ouvert. Pour cela, ajoutez un "0" à l'ouverture.
Voici ma question
Dans mon fichier, j'ai un ComboBox mais sans UserForm :
Quand il est ouvert, est-il possible de bloquer la feuille comme pour "Mon_UserForm.Show" = modal ?
Jusqu'à maintenant, je n'ai pas trouvé.
Auriez-vous une solution ?
Merci à tous,
lionel
Ton problème c'est que tu bricoles les codes qu'on te donne et après ils ne tiennent plus la route.
Ton test avec la cellule P1 est bien maladroit alors qu'il suffit de tester "MaCell".
Les macros Worksheet_Activate en Feuil1 et Feuil2 sont totalement inutiles puisque la macro "Affiche" renvoie toujours sur la feuille "Gérard".
Et la macro "désactive_alphabet' est vraiment sans intérêt puisqu'on peut entrer des chiffres ou d'autres caractères, il vaut mieux protéger la feuille, je l'ai fait avec le mot de passe toto.
la solution de Bernard_XLD est géniale et très simple (juste une ligne de code) lol.
Mais vos solutions m'intéressent pour d'autres utilisations.
Je verrai dès que j'aurai un moment. Merci à vous deux,
lionel
Y a pas de souci. L'excellente solution de Bernard je l'apprends avec toi.
La solution que je t'ai envoyée, à mon avis, fait ce que tu veux (reprendre peut-être le dernier fichier), mais c'est sûr que c'est bien moins simple que l'Application.Interactive = False.
Bonne journée à tous
marchera pas sans référencer la cellule active à l'activation de la combobox pour appliquer les changements sur la bonne cellule car sinon la combobox reste affichée mais la cellule active a changé.
marchera pas sans référencer la cellule active à l'activation de la combobox pour appliquer les changements sur la bonne cellule car sinon la combobox reste affichée mais la cellule active a changé.
Merci Gérard
Effectivement, le code "Application.Interactive" bloque trop souvent le fichier et Il me faut quitter Excel par le Gestionnaire des tâches...
Je vais voire ton fichier.
Merci encore
ça bloque le fichier si tu bascules sur visual basic ouvert alors que la liste est affichée, car la liste se ferme alors sans déclencher le combo1_change et le application.interactive = true, pas vraiment ce que pourra faire un simple utilisateur du fichier.
et tu peux inclure une macro à lancer depuis VBE pour le rétablir quand cela t'arrive ce qui t'évitera de passer par le gestionnaire des taches
VB:
Sub app_inter_true()
Application.Interactive = True
End Sub
Re-bonjour Bernard_XLD
Merci pour tes explications.
Que veut dire (en langage profane lol) : si tu bascules sur visual basic ouvert alors que la liste est affichée.
Merci à toi,
lionel