Microsoft 365 InputBox : ne pas afficher le haut

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous, re-le Forum,

Casse-neurones du dimanche lol
Peut-être (salaud que je suis lol), une question pour notre cher mapomme,
( 🤒j'en ai tout plein d'autres pour les dimanches matin à venir)

Sans passer par un UserForm, est-il possible de ne pas faire apparaître la "X" de l'InputBox ? :
1645978786897.png

J'ai cherché ... cherché... etc...
et pas trouvé :mad:

Merci à toutes et à tous,
lionel :)
 

Pièces jointes

  • 1645966492243.png
    1645966492243.png
    3.4 KB · Affichages: 149
Dernière édition:

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour le fil, le forum
Mais non JM, c'est pas pareil :)
Après le OK : il y aura un code qui va s'exécuter,
ou
Après l'annulation : il y aura un autre code qui va s'exécuter,
lionel :)
Là, Lionel, je ne comprends pas trop ton problème
essaie le code ci joint avec ok annuler et fermeture par la croix, tu verras que le retour est le même pour l'annulation et la fermeture, tu peux donc exécuter le code que tu veux !

Bien cordialement, @+
VB:
Sub Test_inputbox()
Dim Retour_Inputbox
Retour_Inputbox = Application.InputBox(Prompt:="Entrez une valeur", Type:=2)
MsgBox "Type retour : " & TypeName(Retour_Inputbox) & vbLf & "Valeur retour : " & Retour_Inputbox
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Voici un second code de test
VB:
Sub TEST_II()
Dim lRet As String
lRet = InputBox("Ceci est un test", "Test", Application.UserName)
If StrPtr(lRet) = 0 Then
    MsgBox "Annulation ou clic sur la croix", vbInformation
        Call Staple.TEST_II 'juste pour relancer le test
        ElseIf lRet = vbNullString Then
        MsgBox "Aucune saisie dans l'inputBox", vbCritical, "Erreur"
        Call Staple.TEST_II 'juste pour relancer le test
        Else
    MsgBox "Contenu de l'inputBox:" & vbCr & lRet
End If
End Sub
EDITION: Bonsoir Bernard, je vous avion pas vu passer ;)

=>patricktoulon
Nous sommes dans une usine à gaz (et dans un fil avec plus de 5 pages)
Il y a belle lurette qu'on a oublié le début du fil ;)
 

Staple1600

XLDnaute Barbatruc
Re

Sois précis.
Tu préfères une Application.InputBox
Car ce qu'il y a dans mon code est justement une InputBox
;)

Qu'à cela ne tienne
( la modificition était dans tes compétences)

VB:
Sub TEST_II()
Dim lRet As String
lRet = Application.InputBox("Ceci est un test", "Test", Application.UserName)
If StrPtr(lRet) = 0 Then
    MsgBox "Annulation ou clic sur la croix", vbInformation
        Call Staple.TEST_II 'juste pour relancer le test
        ElseIf lRet = vbNullString Then
        MsgBox "Aucune saisie dans l'inputBox", vbCritical, "Erreur"
        Call Staple.TEST_II 'juste pour relancer le test
        Else
    MsgBox "Contenu de l'inputBox:" & vbCr & lRet
End If
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re

Voici un second code de test
VB:
Sub TEST_II()
Dim lRet As String
lRet = InputBox("Ceci est un test", "Test", Application.UserName)
If StrPtr(lRet) = 0 Then
    MsgBox "Annulation ou clic sur la croix", vbInformation
        Call Staple.TEST_II 'juste pour relancer le test
        ElseIf lRet = vbNullString Then
        MsgBox "Aucune saisie dans l'inputBox", vbCritical, "Erreur"
        Call Staple.TEST_II 'juste pour relancer le test
        Else
    MsgBox "Contenu de l'inputBox:" & vbCr & lRet
End If
End Sub
EDITION: Bonsoir Bernard, je vous avion pas vu passer ;)

=>patricktoulon
Nous sommes dans une usine à gaz (et dans un fil avec plus de 5 pages)
Il y a belle lurette qu'on a oublié le début du fil ;)
Re

Sois précis.
Tu préfères une Application.InputBox
Car ce qu'il y a dans mon code est justement une InputBox
;)

Qu'à cela ne tienne
( la modificition était dans tes compétences)

VB:
Sub TEST_II()
Dim lRet As String
lRet = Application.InputBox("Ceci est un test", "Test", Application.UserName)
If StrPtr(lRet) = 0 Then
    MsgBox "Annulation ou clic sur la croix", vbInformation
        Call Staple.TEST_II 'juste pour relancer le test
        ElseIf lRet = vbNullString Then
        MsgBox "Aucune saisie dans l'inputBox", vbCritical, "Erreur"
        Call Staple.TEST_II 'juste pour relancer le test
        Else
    MsgBox "Contenu de l'inputBox:" & vbCr & lRet
End If
End Sub
Merci JM,
ça marche :)
Allé, j'arrête d'embêter tout le monde :)
lionel :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

On m'a cité ? On voudrait que je travaille un dimanche ?!!!?

Alors vite fait (pour du 64 bits) sinon ôter les PTRsafe.

Il faut :
  • déclarer dans un module une variable publique de nom RepMSGBOX
  • dans ce module, on définit la sub maMsgbox(ByVal xcaption As String, Optional xdefault As String) où xcaption est le texte à à afficher au-dessus de la boite de saisie et xdefault est la valeur par défaut de la saisie (on peut s'en passer)
  • Le résultat de la saisie est dans la variable publique RepMSGBOX.

Pour quitter la boite de dialogue, on peut:
  • cliquer sur la croix rouge => annulation de la saisie)
  • taper sur la touche Escape (Echap) => annulation de la saisie
  • cliquer sur la coche verte => validation de la saisie
  • tapez sur la touche entrée quand on est dans la zone de saisie => validation de la saisie
Quand on annule, la variable RepMSGBOX contient la valeur FALSE.
Quand on valise la saisie, la variable RepMSGBOX contient la saisie.
 

Pièces jointes

  • Usine à gaz- sans gaz- v1.xlsm
    23.4 KB · Affichages: 7

Staple1600

XLDnaute Barbatruc
Bonsoir mapomme

a) Pourquoi vous nommez RepMSGBOX et non point RepINPUTBOX ?
Puisque vous simulez une InputBox
b)
le demandeur à dit:
Sans passer par un UserForm, est-il possible de ne pas faire apparaître la "X" de l'InputBox ?
c)
Quid de nos amis Macistes ?

Sinon bon appétit pour ce soir
Potage, salade, pignons de pin et lait de brebis
ou tout pareil que ce midi
(Faut bien finir la bouteille ;))

NB: je précise que j'ai testé ton fichier.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

On m'a cité ? On voudrait que je travaille un dimanche ?!!!?

Alors vite fait (pour du 64 bits) sinon ôter les PTRsafe.

Il faut :
  • déclarer dans un module une variable publique de nom RepMSGBOX
  • dans ce module, on définit la sub maMsgbox(ByVal xcaption As String, Optional xdefault As String) où xcaption est le texte à à afficher au-dessus de la boite de saisie et xdefault est la valeur par défaut de la saisie (on peut s'en passer)
  • Le résultat de la saisie est dans la variable publique RepMSGBOX.

Pour quitter la boite de dialogue, on peut:
  • cliquer sur la croix rouge => annulation de la saisie)
  • taper sur la touche Escape (Echap) => annulation de la saisie
  • cliquer sur la coche verte => validation de la saisie
  • tapez sur la touche entrée quand on est dans la zone de saisie => validation de la saisie
Quand on annule, la variable RepMSGBOX contient la valeur FALSE.
Quand on valise la saisie, la variable RepMSGBOX contient la saisie.
Bsr et Merci mapomme :)
lionel :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

a) pour diminuer l'usure de mon clavier (une lettre de moins) et restreindre le déchargement de la batterie de mon clavier sans fil.
b) mal lu la question. Sans doute trop de jus de treille à midi. Question étrange par ailleurs. Ne suffirait-il pas de tester la réponse ?
c) Ce ne sont pas mes amis... (je plaisante bien sûr)
Cela me rappelle la comptine de Krosoft quand j'étais petit:
Pomme de reinette et pomme d'API
API, API rouge
Pomme de reinette et pomme d'API

API, API gris
 

Staple1600

XLDnaute Barbatruc
d) ce fut salade de thon, lentilles, petits pois, pommes, fromage de brebis
Une verre de kefir
Et repomme pour ma pomme

e) Finalement après avoir lu la vie de Sainte-Blandine, me suis dit que je devais choisir un autre jour

f) Bonne soirée et effectivement le plus simple c'est faire ce que font tous les bouts de code qu'on trouve pour gérer la réponse d'un InputBox.
Challenge: retrouver dans le forum la plus vielle réponse qui faisait cela ;)
Et double challenge: retrouver ce même bout code sur le vaste net
(il doit bien y avoir un code qui a été pondu du temps d'Excel 97 ;))
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin