desactiver croix dans inputbox

  • Initiateur de la discussion Initiateur de la discussion janus51
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

janus51

Guest
bonjour ,

comment désactiver la croix d'un input box ou comment empecher la fermeture de l'inputbox par la croix

merci de vos réponses
janus
 
Re : desactiver croix dans inputbox

bonjour Janus,

Si le but est d'empêcher l'utilisateur de renvoyer une valeur nulle, tu peux faire quelque chose comme ceci:

Code:
    Dim rep As String
    Do While rep = ""
        rep = InputBox("Entrez une valeur")
    Loop

Tant que l'utilisateur n'a pas rentré une valeur la boîte est affichée.

bonsoir
 
Re : desactiver croix dans inputbox

merci de la réponse mais ça ne fct pas dans mon cas; c'est un nb que je dois rentrer dans l'input box , et mon programme ne fct que si dim rep as long.
par ailleurs meme si l'utilisteur rentre un nombre dans l'input , je veux empecher qu'il clique sur la croix
 
Re : desactiver croix dans inputbox

Re bonjour Janus,

Alors le plus simple est de créer un userform personnalisé et d'utiliser son évènement QueryClose comme ceci:

Code:
Private Sub Userform_QueryClose(Cancel As Integer, CloseMode As Integer)
      If CloseMode = vbFormControlMenu Then Cancel = True
End Sub

A bientôt
 
Re : desactiver croix dans inputbox

Merci Hasco de ta solution , mais je voulais éviter cette solution et rester dans le cadre de l'inputbox.
Précision est il possible d'intercepter le bouton annuler du inputbox?
 
Re : desactiver croix dans inputbox

Bonsoir janus51, Hasco, le Forum,

Si tu veux pouvoir contrôler facilement le type de données saisi dans une InputBox (numérique dans ton cas), il est souvent plus simple d'utiliser non pas la fonction InputBox, mais la méthode du même nom :
Code:
[COLOR=NAVY]Dim[/COLOR] Rep [COLOR=NAVY]As Variant
    Do[/COLOR]
        Rep = Application.InputBox("Entrez un nombre", [COLOR=NAVY]Type[/COLOR]:=1)
    [COLOR=NAVY]Loop Until Not[/COLOR] VarType(Rep) = vbBoolean
Type=1 pour les nombres.

Et si tu veux absolument que la variable Rep soit de type Long :
Code:
[COLOR=NAVY]Dim[/COLOR] R [COLOR=NAVY]As Variant
Dim[/COLOR] Rep [COLOR=NAVY]As Long
    Do[/COLOR]
        R = Application.InputBox("Entrez un nombre", [COLOR=NAVY]Type[/COLOR]:=1)
    [COLOR=NAVY]Loop Until Not[/COLOR] VarType(R) = vbBoolean
    Rep = R
Cordialement,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
199
  • Question Question
Microsoft 365 Aide planning
Réponses
17
Affichages
630
Réponses
15
Affichages
255
  • Question Question
XL 2021 coinche
Réponses
0
Affichages
85
  • Question Question
Microsoft 365 Annuler Segment
Réponses
5
Affichages
560
Réponses
3
Affichages
242
Réponses
4
Affichages
626
Retour