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:

patricktoulon

XLDnaute Barbatruc
re
ha!!! là mon ami, il va te falloir faire du hooking api oblige
ca vaut pas le coup surtout que c'est assez complexe et difficile a maintenir entre version d'excel
fait ton propre input alors dans un userform je te donne des exemple si tu veux

dis moi un peu en plus du gaz tu ferais pas le gazoil des fois ??? je demande ça au cas ou hein si tu peux me faire un bon prix
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
re
ha!!! là mon ami, il va te falloir faire du hooking api oblige
ca vaut pas le coup surtout que c'est assez complexe et difficile a maintenir entre version d'excel
fait ton propre input alors dans un userform je te donne des exemple si tu veux

dis moi un peu en plus du gaz tu ferais pas le gazoil des fois ??? je demande ça au cas ou hein si tu peux me faire un bon prix
J'suis preneur de ton exemple :)
 

patricktoulon

XLDnaute Barbatruc
tu reve!!!! 😂😂😂😂😂😂😂
bon allez bingo mon idée était bonne
j'ai une methode msgbox temporaire qui consiste a fermer le msgbox apres une durée
j'utilise pour ça l'api settimer qui execute une sub en addressOF
(meme avec une autre fenetre modale affichée )
le principe et de lancer le timer en pre lancement de l'input

alors dans ma feuille

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If TimerID = 0 Then TimerID = SetTimer(0, 0, 1000, AddressOf ShootbuttonCloseOfInputbox)
    Dim V$, Nom$
    V = CStr(Target.Value)
    If Not Intersect(Target, Range("a1:zz10000")) Is Nothing Then
        Nom = InputBox("Saisir ou modifier", "", V)
        If StrPtr(Nom) > 0 Then Target.Value = Nom
    End If

    
End Sub
et dans un module Standard
VB:
'
'MODELE PATRICKTOULON
'======================================================
'       !! TEMPORISER LE VRAI MSGBOX DE VBA !!
'catégorie boite de dialogue
'Temporisation du vrai msgbox de vba
'Auteurs:patricktoulon sur exceldownload
'Version :1.0; de patricktoulon
'Utilisation des api setTimer et KillTimer
'======================================================
'adaptation sur inputbox pour lever le bouton dans la caption
Option Explicit
#If VBA7 Then
    Declare PtrSafe Function SetTimer Lib "user32.dll" (ByVal hwnd As LongPtr, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As Long
    Declare PtrSafe Function KillTimer Lib "user32.dll" (ByVal hwnd As LongPtr, ByVal nIDEvent As Long) As Long
    Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
    Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr

#Else
    Declare Function SetTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As Long
    Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
    Declare Function GetActiveWindow Lib "user32" () As Long
    Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
#End If
'Dim MsgBoxTitle
'Dim MsgBoxCloseD As Boolean
Public TimerID&


Public Sub ShootbuttonCloseOfInputbox()
    Dim hwnd As Long
    hwnd = GetActiveWindow
    SetWindowLongA hwnd, -16, &H94C00080
    If TimerID <> 0 Then KillTimer 0, TimerID: TimerID = 0:
End Sub

et voila ton input s'affiche et tu va voir le bouton disparaître
it's Magic
si tu veux que ce soit plus rapide change 1000 pour 200 dans le select change
demo3.gif


en voila une idée tiens hein !!???😂🤣
puré ca va péter en Belgique

RE LOL
 

Discussions similaires

Statistiques des forums

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