Bonjour,
Tu as des questions très étranges...!
dans le module avant d'appeler la commande "SendKeys".
Bonjour,
Tu as des questions très étranges...!
dans le module avant d'appeler la commande "SendKeys".
Bonjour,
Tu as des questions très étranges...!
dans le module avant d'appeler la commande "SendKeys".
Hello,
Le 04/12/2015 20:42, MichD a écrit :Bonjour,
Tu as des questions très étranges...!
Ah bon, tu trouves ? ;-)
Pour tout te/vous dire, j'essaye de tester les connaissances de
personnes en VBA, donc je dois vérifier ce qu'elle savent faire, et ceci
en VBA/VBS donc sans bloquer la vérifdans le module avant d'appeler la commande "SendKeys".
Nan, MichD, je voudrais justement EVITER le sendkeys.
J'ai avancé et j'ai pu trouver ceci
Excel.Application.VBE.CommandBars.FindControl(ID:W8).Execute
Ca lance une compilation, et ça ça marche, mais...
...après je voudrais (évidement) récupérer l'erreur de compil et,
théoriquement, faire un Ctrl+C sur une boite de dialogue copie le texte
de cette dernière dans le presse papier, sauf que dans le cas ci
dessous, msgbox txt affiche l'ancien contenu du PP et que si on colle
manuellement une fois le prog terminé ben y'a le nouveau contenu
Sub test()
select
End Sub
Sub RecupErrCompil()
' cocher "Microsoft Forms 2.0 Object Library"
Dim PP As New MSForms.DataObject, Txt As String
PP.GetFromClipboard
SendKeys "^c~"
Excel.Application.VBE.CommandBars.FindControl(ID:W8).Execute
Txt = PP.GetText()
MsgBox Txt
End Sub
Est-ce que qq'un aurait une idée pour récupérer l'erreur qui se serait
affiché ?
Encore merci de prendre le temps de vous casser la tête sur mes
questions "étranges". ;-)
Hello,
Le 04/12/2015 20:42, MichD a écrit :
Bonjour,
Tu as des questions très étranges...!
Ah bon, tu trouves ? ;-)
Pour tout te/vous dire, j'essaye de tester les connaissances de
personnes en VBA, donc je dois vérifier ce qu'elle savent faire, et ceci
en VBA/VBS donc sans bloquer la vérif
dans le module avant d'appeler la commande "SendKeys".
Nan, MichD, je voudrais justement EVITER le sendkeys.
J'ai avancé et j'ai pu trouver ceci
Excel.Application.VBE.CommandBars.FindControl(ID:W8).Execute
Ca lance une compilation, et ça ça marche, mais...
...après je voudrais (évidement) récupérer l'erreur de compil et,
théoriquement, faire un Ctrl+C sur une boite de dialogue copie le texte
de cette dernière dans le presse papier, sauf que dans le cas ci
dessous, msgbox txt affiche l'ancien contenu du PP et que si on colle
manuellement une fois le prog terminé ben y'a le nouveau contenu
Sub test()
select
End Sub
Sub RecupErrCompil()
' cocher "Microsoft Forms 2.0 Object Library"
Dim PP As New MSForms.DataObject, Txt As String
PP.GetFromClipboard
SendKeys "^c~"
Excel.Application.VBE.CommandBars.FindControl(ID:W8).Execute
Txt = PP.GetText()
MsgBox Txt
End Sub
Est-ce que qq'un aurait une idée pour récupérer l'erreur qui se serait
affiché ?
Encore merci de prendre le temps de vous casser la tête sur mes
questions "étranges". ;-)
Hello,
Le 04/12/2015 20:42, MichD a écrit :Bonjour,
Tu as des questions très étranges...!
Ah bon, tu trouves ? ;-)
Pour tout te/vous dire, j'essaye de tester les connaissances de
personnes en VBA, donc je dois vérifier ce qu'elle savent faire, et ceci
en VBA/VBS donc sans bloquer la vérifdans le module avant d'appeler la commande "SendKeys".
Nan, MichD, je voudrais justement EVITER le sendkeys.
J'ai avancé et j'ai pu trouver ceci
Excel.Application.VBE.CommandBars.FindControl(ID:W8).Execute
Ca lance une compilation, et ça ça marche, mais...
...après je voudrais (évidement) récupérer l'erreur de compil et,
théoriquement, faire un Ctrl+C sur une boite de dialogue copie le texte
de cette dernière dans le presse papier, sauf que dans le cas ci
dessous, msgbox txt affiche l'ancien contenu du PP et que si on colle
manuellement une fois le prog terminé ben y'a le nouveau contenu
Sub test()
select
End Sub
Sub RecupErrCompil()
' cocher "Microsoft Forms 2.0 Object Library"
Dim PP As New MSForms.DataObject, Txt As String
PP.GetFromClipboard
SendKeys "^c~"
Excel.Application.VBE.CommandBars.FindControl(ID:W8).Execute
Txt = PP.GetText()
MsgBox Txt
End Sub
Est-ce que qq'un aurait une idée pour récupérer l'erreur qui se serait
affiché ?
Encore merci de prendre le temps de vous casser la tête sur mes
questions "étranges". ;-)
Bonjour,
Tu as des questions très étranges...!
dans le module avant d'appeler la commande "SendKeys".
Bonjour,
Tu as des questions très étranges...!
dans le module avant d'appeler la commande "SendKeys".
Bonjour,
Tu as des questions très étranges...!
dans le module avant d'appeler la commande "SendKeys".
Salut Denis
Attends la suivante, ce sera sur la courbe d'atterrissage d'un OVNI,
qui, bien évidemment, variera suivant la t° au sol. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n3ukf2$ddu$
| je voudrais justement EVITER le sendkeys.
Encore faut-il le spécifier dans ta question...
Une question peut être étrange, cela ne signifie pas qu'il ne faut pas
la poser ou qu'elle
est inintéressante... Depuis mes débuts avec Excel, c'est la première
fois que quelqu'un
s'intéresse à ce type de situation!
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Salut Denis
Attends la suivante, ce sera sur la courbe d'atterrissage d'un OVNI,
qui, bien évidemment, variera suivant la t° au sol. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n3ukf2$ddu$1@speranza.aioe.org...
| je voudrais justement EVITER le sendkeys.
Encore faut-il le spécifier dans ta question...
Une question peut être étrange, cela ne signifie pas qu'il ne faut pas
la poser ou qu'elle
est inintéressante... Depuis mes débuts avec Excel, c'est la première
fois que quelqu'un
s'intéresse à ce type de situation!
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Salut Denis
Attends la suivante, ce sera sur la courbe d'atterrissage d'un OVNI,
qui, bien évidemment, variera suivant la t° au sol. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
n3ukf2$ddu$
| je voudrais justement EVITER le sendkeys.
Encore faut-il le spécifier dans ta question...
Une question peut être étrange, cela ne signifie pas qu'il ne faut pas
la poser ou qu'elle
est inintéressante... Depuis mes débuts avec Excel, c'est la première
fois que quelqu'un
s'intéresse à ce type de situation!
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
| je voudrais justement EVITER le sendkeys.
Encore faut-il le spécifier dans ta question...
a ) Pour récupérer le ID de chaque commande du menu de la fenêtre de
l'éditeur de code (VBA)
Une question peut être étrange, cela ne signifie pas qu'il ne faut pas
la poser ou qu'elle
est inintéressante... Depuis mes débuts avec Excel, c'est la première
fois que quelqu'un
s'intéresse à ce type de situation!
| je voudrais justement EVITER le sendkeys.
Encore faut-il le spécifier dans ta question...
a ) Pour récupérer le ID de chaque commande du menu de la fenêtre de
l'éditeur de code (VBA)
Une question peut être étrange, cela ne signifie pas qu'il ne faut pas
la poser ou qu'elle
est inintéressante... Depuis mes débuts avec Excel, c'est la première
fois que quelqu'un
s'intéresse à ce type de situation!
| je voudrais justement EVITER le sendkeys.
Encore faut-il le spécifier dans ta question...
a ) Pour récupérer le ID de chaque commande du menu de la fenêtre de
l'éditeur de code (VBA)
Une question peut être étrange, cela ne signifie pas qu'il ne faut pas
la poser ou qu'elle
est inintéressante... Depuis mes débuts avec Excel, c'est la première
fois que quelqu'un
s'intéresse à ce type de situation!
Utilise plutôt cette macro, elle va afficher seulement les commandes
des menus qui sont affichées.
Le seul "ID" qui s'affiche 3 fois est 746. Il représente 3 commandes
différentes :
A ) "&Supprimer Feuil1..." du menu fichier
B ) "&Signature électronique.." du menu Outils
C ) "MSDN sur le &Web" du menu ?
Si tu essaies d'exécuter cette ligne de code :
Application.VBE.CommandBars.FindControl(ID:t6).Execute
On obtient une erreur : "erreur automation - erreur non spécifiée"
Je suppose qu'une commande comme "Supprimer Feuil1..." émane
d'une très vieille version d'Excel. Je n'ai aucune idée ce que cette
commande peut effectuer comme travail dans une fenêtre VBA.
Si tu fais un clic droit sur la barre des menus, il y a la commande
"Personnaliser" qui te permet de modifier les commandes des sous-menus.
'-------------------------------------------------------------
Sub Test()
Dim Ctrl As CommandBarControl
Dim C As CommandBarControl
Dim A As Long
With ThisWorkbook.VBProject.VBE
Range("A1") = .CommandBars(1).Name
For Each Ctrl In .CommandBars("Barre de menus").Controls
A = A + 1
Range("A" & A) = Ctrl.Caption
Range("B" & A) = Ctrl.ID
For Each C In Ctrl.Controls
If C.Visible = True Then 'Ligne de code ajoutée
A = A + 1
Range("A" & A) = C.Caption
Range("B" & A) = C.ID
End If
Next
A = A + 1
Next
End With
End Sub
'-------------------------------------------------------------
Utilise plutôt cette macro, elle va afficher seulement les commandes
des menus qui sont affichées.
Le seul "ID" qui s'affiche 3 fois est 746. Il représente 3 commandes
différentes :
A ) "&Supprimer Feuil1..." du menu fichier
B ) "&Signature électronique.." du menu Outils
C ) "MSDN sur le &Web" du menu ?
Si tu essaies d'exécuter cette ligne de code :
Application.VBE.CommandBars.FindControl(ID:t6).Execute
On obtient une erreur : "erreur automation - erreur non spécifiée"
Je suppose qu'une commande comme "Supprimer Feuil1..." émane
d'une très vieille version d'Excel. Je n'ai aucune idée ce que cette
commande peut effectuer comme travail dans une fenêtre VBA.
Si tu fais un clic droit sur la barre des menus, il y a la commande
"Personnaliser" qui te permet de modifier les commandes des sous-menus.
'-------------------------------------------------------------
Sub Test()
Dim Ctrl As CommandBarControl
Dim C As CommandBarControl
Dim A As Long
With ThisWorkbook.VBProject.VBE
Range("A1") = .CommandBars(1).Name
For Each Ctrl In .CommandBars("Barre de menus").Controls
A = A + 1
Range("A" & A) = Ctrl.Caption
Range("B" & A) = Ctrl.ID
For Each C In Ctrl.Controls
If C.Visible = True Then 'Ligne de code ajoutée
A = A + 1
Range("A" & A) = C.Caption
Range("B" & A) = C.ID
End If
Next
A = A + 1
Next
End With
End Sub
'-------------------------------------------------------------
Utilise plutôt cette macro, elle va afficher seulement les commandes
des menus qui sont affichées.
Le seul "ID" qui s'affiche 3 fois est 746. Il représente 3 commandes
différentes :
A ) "&Supprimer Feuil1..." du menu fichier
B ) "&Signature électronique.." du menu Outils
C ) "MSDN sur le &Web" du menu ?
Si tu essaies d'exécuter cette ligne de code :
Application.VBE.CommandBars.FindControl(ID:t6).Execute
On obtient une erreur : "erreur automation - erreur non spécifiée"
Je suppose qu'une commande comme "Supprimer Feuil1..." émane
d'une très vieille version d'Excel. Je n'ai aucune idée ce que cette
commande peut effectuer comme travail dans une fenêtre VBA.
Si tu fais un clic droit sur la barre des menus, il y a la commande
"Personnaliser" qui te permet de modifier les commandes des sous-menus.
'-------------------------------------------------------------
Sub Test()
Dim Ctrl As CommandBarControl
Dim C As CommandBarControl
Dim A As Long
With ThisWorkbook.VBProject.VBE
Range("A1") = .CommandBars(1).Name
For Each Ctrl In .CommandBars("Barre de menus").Controls
A = A + 1
Range("A" & A) = Ctrl.Caption
Range("B" & A) = Ctrl.ID
For Each C In Ctrl.Controls
If C.Visible = True Then 'Ligne de code ajoutée
A = A + 1
Range("A" & A) = C.Caption
Range("B" & A) = C.ID
End If
Next
A = A + 1
Next
End With
End Sub
'-------------------------------------------------------------