OVH Cloud OVH Cloud

Boîtes de dialogues intégrées dans excel (xlDialog)

36 réponses
Avatar
Sitting Hoax \(BM\)
Bonsoir à tous et toutes,
Application.Dialogs(xlDialogApplyNames).Show permet de faire apparaître
la boîte de dialogue intégrée dans l'application excel
"Affecter un nom"
c'est le numéro d'index 133
Application.Dialogs(133).Show

Je voudrais savoir comment connaître le nom de la boîte de dialogue par une
macro du style

MsgBox Application.Dialogs(133).Name

de façon à avoir le nom
"xlDialogApplyNames" qui apparaisse dans mon message.

Il doit y avoir un syntaxe qui m'est inconnue.
Je vous remercie par avance de ce renseignement.
Bonne fin d'année et joyeux Noël à tous (et toutes)
Amicalement
Sitting Hoax

6 réponses

1 2 3 4
Avatar
Sitting Hoax \(BM\)
c'est la venue de Michel qui m'a fait prendre Denis pour Pierron ;-)))
Amicalement
Sitting Hoax
"sabatier" a écrit dans le message de
news:
les spammers ou les facteurs...marseillais, denis?
en écrivant cela, je me dis qu'avec "militaire", l'adjectif marseillais"
est assurément celui qui dénature le plus le substantitf qui
l'accompagne...

jps (qui va vite jouer les saddam en allant se terrer dans un trou de
son jardin)

michdenis a écrit:
Bonjour JPS,

denis est appelé (une fois de plus) michel...
jps

Ce n'est pas un problème ... c'est seulement pour confondre les spammers
? Me crois-tu ?



;-))


Salutations!



Sitting Hoax (BM) a écrit:

super Michel,
voilà qui est clair maintenant:-)
Amicalement
Sitting Hoax
"michdenis" a écrit dans le message de
news:


Bonjour Sitting Hoax,

Tu trouveras la description en français ici :


http://www.seg.etsmtl.ca/inf100/Documents/Cours/FormatPDF/chapitre6.pdf


à partir de la page 130 du document


Salutations!




"Sitting Hoax (BM)" a écrit dans le message
de





news:


Bonjour,
j'ai réussi à l'ouvrir avec internet explorer,
merci Denis.
Je n'ai plus maintenant qu'à en faire la descrition en français,
afin d'obtenir un tableau du genre:
xlDialogDefineName
name_text, refers_to, macro_type, shortcut_text, hidden, category,
local
229 Définir un nom

A plus et merci pour les 13 réponses de ta part,
ça c'est de l'acharnement à aider ;-)))
j'ai l'adsl, pas de problème:-)
Amicalement
Sitting Hoax


"michdenis" a écrit dans le message de
news:


Bonjour à toutes et à tous,

Désolé pour ceux qui ont dû télécharger tous ces messages !

Le message se voulait un tableau de la liste des boîtes de dialogue ,


format texte et numérique avec les paramètres


définissables à chaque item de la liste + l'ajout des boîtes
appartenant






à



la version excel 2003. Cela devait faire un


fichier de 45 kilo octets puisque publié en HTML pour faciliter sa


récupération ...pour les intéressés...


Je n'ai aucune idée pourquoi cela a généré autant de fichiers et que
ces






derniers semblent irrécupérables !


Salutations!





















Avatar
Sitting Hoax \(BM\)
Ce devrait être intéressant je pense.
Si Misange veut bien, je le lui enverrai, et tu en auras la primeur.
Amicalement
Sitting Hoax
"michdenis" a écrit dans le message de
news:%
Bonjour Sitting Hoax ,

Lorsque tu auras terminé l'élaboration de ton tableau dans excel,
j'aimerais bien en avoir une version en langue française si

tu le veux bien. Ne te gène pas, ce n'est pas les Kilo octets du fichier
qui m'énerve.. j'ai une connexion par câble ! ;-)

S.V.P utilise cette adresse :




Par la même occasion, ce serait intéressant si les usagers pouvaient y
avoir accès via le site de Misange !!

À toi de décider ... ;-)


Salutations!




"Sitting Hoax (BM)" a écrit dans le message de
news:

super Michel,
voilà qui est clair maintenant:-)
Amicalement
Sitting Hoax
"michdenis" a écrit dans le message de
news:
Bonjour Sitting Hoax,

Tu trouveras la description en français ici :
http://www.seg.etsmtl.ca/inf100/Documents/Cours/FormatPDF/chapitre6.pdf


à partir de la page 130 du document


Salutations!




"Sitting Hoax (BM)" a écrit dans le message
de


news:
Bonjour,
j'ai réussi à l'ouvrir avec internet explorer,
merci Denis.
Je n'ai plus maintenant qu'à en faire la descrition en français,
afin d'obtenir un tableau du genre:
xlDialogDefineName
name_text, refers_to, macro_type, shortcut_text, hidden, category,
local
229 Définir un nom

A plus et merci pour les 13 réponses de ta part,
ça c'est de l'acharnement à aider ;-)))
j'ai l'adsl, pas de problème:-)
Amicalement
Sitting Hoax


"michdenis" a écrit dans le message de
news:
Bonjour à toutes et à tous,

Désolé pour ceux qui ont dû télécharger tous ces messages !

Le message se voulait un tableau de la liste des boîtes de dialogue ,
format texte et numérique avec les paramètres

définissables à chaque item de la liste + l'ajout des boîtes
appartenant



à
la version excel 2003. Cela devait faire un
fichier de 45 kilo octets puisque publié en HTML pour faciliter sa
récupération ...pour les intéressés...


Je n'ai aucune idée pourquoi cela a généré autant de fichiers et que
ces



derniers semblent irrécupérables !


Salutations!
















Avatar
michdenis
tu en auras la primeur

Merci d'avance.


Salutations!


"Sitting Hoax (BM)" a écrit dans le message de news:
Ce devrait être intéressant je pense.
Si Misange veut bien, je le lui enverrai, et tu en auras la primeur.
Amicalement
Sitting Hoax
"michdenis" a écrit dans le message de
news:%
Bonjour Sitting Hoax ,

Lorsque tu auras terminé l'élaboration de ton tableau dans excel,
j'aimerais bien en avoir une version en langue française si

tu le veux bien. Ne te gène pas, ce n'est pas les Kilo octets du fichier
qui m'énerve.. j'ai une connexion par câble ! ;-)

S.V.P utilise cette adresse :




Par la même occasion, ce serait intéressant si les usagers pouvaient y
avoir accès via le site de Misange !!

À toi de décider ... ;-)


Salutations!




"Sitting Hoax (BM)" a écrit dans le message de
news:

super Michel,
voilà qui est clair maintenant:-)
Amicalement
Sitting Hoax
"michdenis" a écrit dans le message de
news:
Bonjour Sitting Hoax,

Tu trouveras la description en français ici :
http://www.seg.etsmtl.ca/inf100/Documents/Cours/FormatPDF/chapitre6.pdf


à partir de la page 130 du document


Salutations!




"Sitting Hoax (BM)" a écrit dans le message
de


news:
Bonjour,
j'ai réussi à l'ouvrir avec internet explorer,
merci Denis.
Je n'ai plus maintenant qu'à en faire la descrition en français,
afin d'obtenir un tableau du genre:
xlDialogDefineName
name_text, refers_to, macro_type, shortcut_text, hidden, category,
local
229 Définir un nom

A plus et merci pour les 13 réponses de ta part,
ça c'est de l'acharnement à aider ;-)))
j'ai l'adsl, pas de problème:-)
Amicalement
Sitting Hoax


"michdenis" a écrit dans le message de
news:
Bonjour à toutes et à tous,

Désolé pour ceux qui ont dû télécharger tous ces messages !

Le message se voulait un tableau de la liste des boîtes de dialogue ,
format texte et numérique avec les paramètres

définissables à chaque item de la liste + l'ajout des boîtes
appartenant



à
la version excel 2003. Cela devait faire un
fichier de 45 kilo octets puisque publié en HTML pour faciliter sa
récupération ...pour les intéressés...


Je n'ai aucune idée pourquoi cela a généré autant de fichiers et que
ces



derniers semblent irrécupérables !


Salutations!
















Avatar
Alain CROS
Bonjour.

Si ça intéresse, voilà une petite routine qui permet de récupérer le titre des boîtes de dialogue intégrées que j'arrive a attraper.
Les numéros exclus sont ceux qui bloquent le bon déroulement.
C'est a manier avec prudence car un crash est vite arrivé.
A mettre dans un module a cause de l'opérateur AddressOf.

Alain CROS.

Private Declare Function LockWindowUpdate& Lib "user32" ( _
ByVal hwndLock&)
Private Declare Function PostMessage& Lib "user32" _
Alias "PostMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&)
Private Declare Function FindWindowEx& Lib "user32" _
Alias "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$)
Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Declare Function SetWindowsHookEx& Lib "user32" _
Alias "SetWindowsHookExA" (ByVal idHook&, ByVal lpfn&, ByVal hmod&, ByVal dwThreadId&)
Private Declare Function GetWindowText& Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&)
Private Declare Function UnhookWindowsHookEx& Lib "user32" _
(ByVal hHook&)
Private Tblo(), Index&, lgHook&
Sub ListeTitreDialog()
Const GWL_HINSTANCE& = -6
Dim lgInst&
ReDim Tblo(1 To 2, 1 To 1)
Tblo(1, 1) = "Index"
Tblo(2, 1) = "Titre"
lgInst = GetWindowLong(FindWindowEx(0&, 0&, "XLMAIN", _
Application.Caption), GWL_HINSTANCE)
On Error Resume Next
For Index = 1 To Application.Dialogs.Count
If Not (Index = 137 Or Index = 170 Or Index = 171 Or Index = 189 Or _
Index = 222 Or Index = 259 Or Index = 321 Or Index = 382 Or _
Index = 489 Or Index = 491 Or Index = 771) Then
InstallHook lgInst
Application.Dialogs(Index).Show
UnhookWindowsHookEx lgHook
End If
Next Index
On Error GoTo 0
Worksheets.Add
Range("A1:B" & UBound(Tblo, 2)) = Application.Transpose(Tblo)
End Sub
Sub InstallHook(lgInst&)
Const WH_CBT& = &H5
#If VBA6 Then
lgHook = SetWindowsHookEx(WH_CBT, AddressOf WinHook, _
lgInst, GetCurrentThreadId)
#Else
lgHook = SetWindowsHookEx(WH_CBT, AddrOf("WinHook"), _
lgInst, GetCurrentThreadId)
#End If
End Sub
Private Function WinHook&(ByVal lMsg&, ByVal wParam&, ByRef lParam&)
Const HCBT_ACTIVATE& = &H5, WM_SYSCOMMAND& = &H112, SC_CLOSE& = &HF060&
Dim MYSTR$, I&
If lMsg = HCBT_ACTIVATE Then
LockWindowUpdate wParam
MYSTR = Space$(100&)
GetWindowText wParam, MYSTR, 100&
PostMessage wParam, WM_SYSCOMMAND, SC_CLOSE, 0&
I = UBound(Tblo, 2) + 1
ReDim Preserve Tblo(1 To 2, 1 To I)
Tblo(1, I) = Index
Tblo(2, I) = Left$(MYSTR, InStr(1, MYSTR, Chr$(0)) - 1)
UnhookWindowsHookEx lgHook
End If
WinHook = False
End Function


"Sitting Hoax (BM)" a écrit dans le message de news:
Bonsoir à tous et toutes,
Application.Dialogs(xlDialogApplyNames).Show permet de faire apparaître
la boîte de dialogue intégrée dans l'application excel
"Affecter un nom"
c'est le numéro d'index 133
Application.Dialogs(133).Show

Je voudrais savoir comment connaître le nom de la boîte de dialogue par une
macro du style

MsgBox Application.Dialogs(133).Name

de façon à avoir le nom
"xlDialogApplyNames" qui apparaisse dans mon message.

Il doit y avoir un syntaxe qui m'est inconnue.
Je vous remercie par avance de ce renseignement.
Bonne fin d'année et joyeux Noël à tous (et toutes)
Amicalement
Sitting Hoax




Avatar
Sitting Hoax \(BM\)
Merci Alain,
c'était exactement ce que je cherchais à automatiser et ça répond bien à ma
question.
Chapeau!
maintenant, il me reste à essayer de comprendre cette procédure;-))
Amicalement
Sitting Hoax
"Alain CROS" a écrit dans le message de
news:
Bonjour.

Si ça intéresse, voilà une petite routine qui permet de récupérer le titre
des boîtes de dialogue intégrées que j'arrive a attraper.

Les numéros exclus sont ceux qui bloquent le bon déroulement.
C'est a manier avec prudence car un crash est vite arrivé.
A mettre dans un module a cause de l'opérateur AddressOf.

Alain CROS.

Private Declare Function LockWindowUpdate& Lib "user32" ( _
ByVal hwndLock&)
Private Declare Function PostMessage& Lib "user32" _
Alias "PostMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal
lParam&)

Private Declare Function FindWindowEx& Lib "user32" _
Alias "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal
lpsz2$)

Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Declare Function SetWindowsHookEx& Lib "user32" _
Alias "SetWindowsHookExA" (ByVal idHook&, ByVal lpfn&, ByVal hmod&,
ByVal dwThreadId&)

Private Declare Function GetWindowText& Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&)
Private Declare Function UnhookWindowsHookEx& Lib "user32" _
(ByVal hHook&)
Private Tblo(), Index&, lgHook&
Sub ListeTitreDialog()
Const GWL_HINSTANCE& = -6
Dim lgInst&
ReDim Tblo(1 To 2, 1 To 1)
Tblo(1, 1) = "Index"
Tblo(2, 1) = "Titre"
lgInst = GetWindowLong(FindWindowEx(0&, 0&, "XLMAIN", _
Application.Caption), GWL_HINSTANCE)
On Error Resume Next
For Index = 1 To Application.Dialogs.Count
If Not (Index = 137 Or Index = 170 Or Index = 171 Or Index = 189 Or _
Index = 222 Or Index = 259 Or Index = 321 Or Index = 382 Or _
Index = 489 Or Index = 491 Or Index = 771) Then
InstallHook lgInst
Application.Dialogs(Index).Show
UnhookWindowsHookEx lgHook
End If
Next Index
On Error GoTo 0
Worksheets.Add
Range("A1:B" & UBound(Tblo, 2)) = Application.Transpose(Tblo)
End Sub
Sub InstallHook(lgInst&)
Const WH_CBT& = &H5
#If VBA6 Then
lgHook = SetWindowsHookEx(WH_CBT, AddressOf WinHook, _
lgInst, GetCurrentThreadId)
#Else
lgHook = SetWindowsHookEx(WH_CBT, AddrOf("WinHook"), _
lgInst, GetCurrentThreadId)
#End If
End Sub
Private Function WinHook&(ByVal lMsg&, ByVal wParam&, ByRef lParam&)
Const HCBT_ACTIVATE& = &H5, WM_SYSCOMMAND& = &H112, SC_CLOSE& &HF060&
Dim MYSTR$, I&
If lMsg = HCBT_ACTIVATE Then
LockWindowUpdate wParam
MYSTR = Space$(100&)
GetWindowText wParam, MYSTR, 100&
PostMessage wParam, WM_SYSCOMMAND, SC_CLOSE, 0&
I = UBound(Tblo, 2) + 1
ReDim Preserve Tblo(1 To 2, 1 To I)
Tblo(1, I) = Index
Tblo(2, I) = Left$(MYSTR, InStr(1, MYSTR, Chr$(0)) - 1)
UnhookWindowsHookEx lgHook
End If
WinHook = False
End Function


"Sitting Hoax (BM)" a écrit dans le message de
news:

Bonsoir à tous et toutes,
Application.Dialogs(xlDialogApplyNames).Show permet de faire apparaître
la boîte de dialogue intégrée dans l'application excel
"Affecter un nom"
c'est le numéro d'index 133
Application.Dialogs(133).Show

Je voudrais savoir comment connaître le nom de la boîte de dialogue par
une


macro du style

MsgBox Application.Dialogs(133).Name

de façon à avoir le nom
"xlDialogApplyNames" qui apparaisse dans mon message.

Il doit y avoir un syntaxe qui m'est inconnue.
Je vous remercie par avance de ce renseignement.
Bonne fin d'année et joyeux Noël à tous (et toutes)
Amicalement
Sitting Hoax








Avatar
Michel Pierron
Pour info;
Comment récupérer la valeurs des constantes d'une application Office.
Exemple avec Excel:

' Nécessite une référence à tlbinf32.dll
' C:WINDOWSsystem32tlbinf32.dll
Sub OfficeConstantsList()
Const OfficeApp As String = "C:Program FilesMicrosoft
OfficeOffice10excel.exe"
Dim x As TypeLibInfo, r, mbr, i As Long
On Error Resume Next
Cells.ClearContents
Set x = TypeLibInfoFromFile(OfficeApp)
For Each r In x.Constants
For Each mbr In r.Members
i = i + 1
Cells(i, 1) = mbr.Name
Cells(i, 2) = mbr.Value
Next mbr
Next r
Set x = Nothing
Columns("A:A").Columns.AutoFit
End Sub

MP

"Sitting Hoax (BM)" a écrit dans le message de
news:%
Merci Alain,
c'était exactement ce que je cherchais à automatiser et ça répond bien à
ma

question.
Chapeau!
maintenant, il me reste à essayer de comprendre cette procédure;-))
Amicalement
Sitting Hoax
"Alain CROS" a écrit dans le message de
news:
Bonjour.

Si ça intéresse, voilà une petite routine qui permet de récupérer le
titre


des boîtes de dialogue intégrées que j'arrive a attraper.
Les numéros exclus sont ceux qui bloquent le bon déroulement.
C'est a manier avec prudence car un crash est vite arrivé.
A mettre dans un module a cause de l'opérateur AddressOf.

Alain CROS.

Private Declare Function LockWindowUpdate& Lib "user32" ( _
ByVal hwndLock&)
Private Declare Function PostMessage& Lib "user32" _
Alias "PostMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal
lParam&)

Private Declare Function FindWindowEx& Lib "user32" _
Alias "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$,
ByVal


lpsz2$)
Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Declare Function SetWindowsHookEx& Lib "user32" _
Alias "SetWindowsHookExA" (ByVal idHook&, ByVal lpfn&, ByVal hmod&,
ByVal dwThreadId&)

Private Declare Function GetWindowText& Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&)
Private Declare Function UnhookWindowsHookEx& Lib "user32" _
(ByVal hHook&)
Private Tblo(), Index&, lgHook&
Sub ListeTitreDialog()
Const GWL_HINSTANCE& = -6
Dim lgInst&
ReDim Tblo(1 To 2, 1 To 1)
Tblo(1, 1) = "Index"
Tblo(2, 1) = "Titre"
lgInst = GetWindowLong(FindWindowEx(0&, 0&, "XLMAIN", _
Application.Caption), GWL_HINSTANCE)
On Error Resume Next
For Index = 1 To Application.Dialogs.Count
If Not (Index = 137 Or Index = 170 Or Index = 171 Or Index = 189 Or
_


Index = 222 Or Index = 259 Or Index = 321 Or Index = 382 Or _
Index = 489 Or Index = 491 Or Index = 771) Then
InstallHook lgInst
Application.Dialogs(Index).Show
UnhookWindowsHookEx lgHook
End If
Next Index
On Error GoTo 0
Worksheets.Add
Range("A1:B" & UBound(Tblo, 2)) = Application.Transpose(Tblo)
End Sub
Sub InstallHook(lgInst&)
Const WH_CBT& = &H5
#If VBA6 Then
lgHook = SetWindowsHookEx(WH_CBT, AddressOf WinHook, _
lgInst, GetCurrentThreadId)
#Else
lgHook = SetWindowsHookEx(WH_CBT, AddrOf("WinHook"), _
lgInst, GetCurrentThreadId)
#End If
End Sub
Private Function WinHook&(ByVal lMsg&, ByVal wParam&, ByRef lParam&)
Const HCBT_ACTIVATE& = &H5, WM_SYSCOMMAND& = &H112, SC_CLOSE& > &HF060&
Dim MYSTR$, I&
If lMsg = HCBT_ACTIVATE Then
LockWindowUpdate wParam
MYSTR = Space$(100&)
GetWindowText wParam, MYSTR, 100&
PostMessage wParam, WM_SYSCOMMAND, SC_CLOSE, 0&
I = UBound(Tblo, 2) + 1
ReDim Preserve Tblo(1 To 2, 1 To I)
Tblo(1, I) = Index
Tblo(2, I) = Left$(MYSTR, InStr(1, MYSTR, Chr$(0)) - 1)
UnhookWindowsHookEx lgHook
End If
WinHook = False
End Function


"Sitting Hoax (BM)" a écrit dans le message
de


news:
Bonsoir à tous et toutes,
Application.Dialogs(xlDialogApplyNames).Show permet de faire
apparaître



la boîte de dialogue intégrée dans l'application excel
"Affecter un nom"
c'est le numéro d'index 133
Application.Dialogs(133).Show

Je voudrais savoir comment connaître le nom de la boîte de dialogue
par



une
macro du style

MsgBox Application.Dialogs(133).Name

de façon à avoir le nom
"xlDialogApplyNames" qui apparaisse dans mon message.

Il doit y avoir un syntaxe qui m'est inconnue.
Je vous remercie par avance de ce renseignement.
Bonne fin d'année et joyeux Noël à tous (et toutes)
Amicalement
Sitting Hoax












1 2 3 4