Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
Pour sélectionner le niveau choisi dans mon menu j'emploie la
méthode .sendkeys"{Down a}" de l'objet Shell où "a" est la valeur
numérique du nombre de décalages que je dois faire vers le bas pour
sélectionner le niveau chosi. L'emploie de la valeur numérique me
permet de bien faire fonctionner le script sans problèmes, cependant
dans un souci de simplification, je voudrais remplacer cette valeur
par une variable . Et c'est là que le sable s'est collé dans
l'engrenage. oShell.SendKey"{DOWN 3}"
fonctionne
trés bien et je décale bien de trois niveaux vers le bas.
si j'emploie une variable, "b " par exemple, à laquelle j'ai affecté
la valeur voulue. L'expresssion oShell.SendKeys"{DOWN b}" ne
fonctionne pas et je câle lamentablement.
Merci d'avance à qui me dépannera.
Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
Pour sélectionner le niveau choisi dans mon menu j'emploie la
méthode .sendkeys"{Down a}" de l'objet Shell où "a" est la valeur
numérique du nombre de décalages que je dois faire vers le bas pour
sélectionner le niveau chosi. L'emploie de la valeur numérique me
permet de bien faire fonctionner le script sans problèmes, cependant
dans un souci de simplification, je voudrais remplacer cette valeur
par une variable . Et c'est là que le sable s'est collé dans
l'engrenage. oShell.SendKey"{DOWN 3}"
fonctionne
trés bien et je décale bien de trois niveaux vers le bas.
si j'emploie une variable, "b " par exemple, à laquelle j'ai affecté
la valeur voulue. L'expresssion oShell.SendKeys"{DOWN b}" ne
fonctionne pas et je câle lamentablement.
Merci d'avance à qui me dépannera.
Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
Pour sélectionner le niveau choisi dans mon menu j'emploie la
méthode .sendkeys"{Down a}" de l'objet Shell où "a" est la valeur
numérique du nombre de décalages que je dois faire vers le bas pour
sélectionner le niveau chosi. L'emploie de la valeur numérique me
permet de bien faire fonctionner le script sans problèmes, cependant
dans un souci de simplification, je voudrais remplacer cette valeur
par une variable . Et c'est là que le sable s'est collé dans
l'engrenage. oShell.SendKey"{DOWN 3}"
fonctionne
trés bien et je décale bien de trois niveaux vers le bas.
si j'emploie une variable, "b " par exemple, à laquelle j'ai affecté
la valeur voulue. L'expresssion oShell.SendKeys"{DOWN b}" ne
fonctionne pas et je câle lamentablement.
Merci d'avance à qui me dépannera.
Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
Pour sélectionner le niveau choisi dans mon menu j'emploie la
méthode .sendkeys"{Down a}" de l'objet Shell où "a" est la valeur
numérique du nombre de décalages que je dois faire vers le bas pour
sélectionner le niveau chosi. L'emploie de la valeur numérique me
permet de bien faire fonctionner le script sans problèmes, cependant
dans un souci de simplification, je voudrais remplacer cette valeur
par une variable . Et c'est là que le sable s'est collé dans
l'engrenage. oShell.SendKey"{DOWN 3}" fonctionne
trés bien et je décale bien de trois niveaux vers le bas.
si j'emploie une variable, "b " par exemple, à laquelle j'ai affecté
la valeur voulue. L'expresssion oShell.SendKeys"{DOWN b}" ne
fonctionne pas et je câle lamentablement.
Merci d'avance à qui me dépannera.
Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
Pour sélectionner le niveau choisi dans mon menu j'emploie la
méthode .sendkeys"{Down a}" de l'objet Shell où "a" est la valeur
numérique du nombre de décalages que je dois faire vers le bas pour
sélectionner le niveau chosi. L'emploie de la valeur numérique me
permet de bien faire fonctionner le script sans problèmes, cependant
dans un souci de simplification, je voudrais remplacer cette valeur
par une variable . Et c'est là que le sable s'est collé dans
l'engrenage. oShell.SendKey"{DOWN 3}" fonctionne
trés bien et je décale bien de trois niveaux vers le bas.
si j'emploie une variable, "b " par exemple, à laquelle j'ai affecté
la valeur voulue. L'expresssion oShell.SendKeys"{DOWN b}" ne
fonctionne pas et je câle lamentablement.
Merci d'avance à qui me dépannera.
Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
Pour sélectionner le niveau choisi dans mon menu j'emploie la
méthode .sendkeys"{Down a}" de l'objet Shell où "a" est la valeur
numérique du nombre de décalages que je dois faire vers le bas pour
sélectionner le niveau chosi. L'emploie de la valeur numérique me
permet de bien faire fonctionner le script sans problèmes, cependant
dans un souci de simplification, je voudrais remplacer cette valeur
par une variable . Et c'est là que le sable s'est collé dans
l'engrenage. oShell.SendKey"{DOWN 3}" fonctionne
trés bien et je décale bien de trois niveaux vers le bas.
si j'emploie une variable, "b " par exemple, à laquelle j'ai affecté
la valeur voulue. L'expresssion oShell.SendKeys"{DOWN b}" ne
fonctionne pas et je câle lamentablement.
Merci d'avance à qui me dépannera.
Salutations jeclephi, tu nous disais :Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
[...]
Mais pourquoi ne pas commander Excel directement au lieu de lui
envoyer des séquences de touches ?
[...]
Salutations jeclephi, tu nous disais :
Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
[...]
Mais pourquoi ne pas commander Excel directement au lieu de lui
envoyer des séquences de touches ?
[...]
Salutations jeclephi, tu nous disais :Bonjour,
j'ai fait un script (VBS)qui me permet d'ouvrir un fichier Excel dans
lequel est d'abord sélectionné un menu et ensuite est sélectionné
un élément de ce menu, le niveau de cet élément pouvant varier à
chaque utilisation.
[...]
Mais pourquoi ne pas commander Excel directement au lieu de lui
envoyer des séquences de touches ?
[...]
Dans le message :,
~Jean-Marc~ [MVP] a pris la peine d'écrire
ce qui suit :Salutations jeclephi, tu nous disais :Bonjour,
...........
Mais pourquoi ne pas commander Excel directement au lieu de lui
envoyer des séquences de touches ?
[...]
Et je complèterai cette excellente suggestion de Jean-Marc par quelques
compléments pratiques :
Vu que l'on ne connait pas forcément toute la syntaxe de VBA d'Excel, le
plus simple est d'enregistrer les commandes voulues dans une macro, puis
ouvrir cette Macro par Visual Basic Editor (à lancer depuis Excel).
Ensuite effectuer un copier-coller du VBA dans le script VBS, en adaptant
un quart de poil les différneces de syntaxe.
J'utilise cela en permanence dans tout mes scripts VBS qui font appel à
Excel :
http://www.bellamyjc.org/fr/vbsdownload.html#accountlist
http://www.bellamyjc.org/fr/vbsdownload.html#listserv
http://www.bellamyjc.org/fr/vbsdownload.html#processus
http://www.bellamyjc.org/fr/vbsdownload.html#showadm
(tu peux t'en inspirer)
Un exemple très basique :
Depuis le VBS, tu veux exécuter la séquence suivante dans Excel :
- sélectionner toutes les cellules
- choisir la police Verdana en 10 points
[...] May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Dans le message :OFtpT3IFGHA.2040@TK2MSFTNGP14.phx.gbl,
~Jean-Marc~ [MVP] <doc.j-m.OTER@ouanadoudou.fr> a pris la peine d'écrire
ce qui suit :
Salutations jeclephi, tu nous disais :
Bonjour,
...........
Mais pourquoi ne pas commander Excel directement au lieu de lui
envoyer des séquences de touches ?
[...]
Et je complèterai cette excellente suggestion de Jean-Marc par quelques
compléments pratiques :
Vu que l'on ne connait pas forcément toute la syntaxe de VBA d'Excel, le
plus simple est d'enregistrer les commandes voulues dans une macro, puis
ouvrir cette Macro par Visual Basic Editor (à lancer depuis Excel).
Ensuite effectuer un copier-coller du VBA dans le script VBS, en adaptant
un quart de poil les différneces de syntaxe.
J'utilise cela en permanence dans tout mes scripts VBS qui font appel à
Excel :
http://www.bellamyjc.org/fr/vbsdownload.html#accountlist
http://www.bellamyjc.org/fr/vbsdownload.html#listserv
http://www.bellamyjc.org/fr/vbsdownload.html#processus
http://www.bellamyjc.org/fr/vbsdownload.html#showadm
(tu peux t'en inspirer)
Un exemple très basique :
Depuis le VBS, tu veux exécuter la séquence suivante dans Excel :
- sélectionner toutes les cellules
- choisir la police Verdana en 10 points
[...] May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - Jean-Claude.Bellamy@wanadoo.fr
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Dans le message :,
~Jean-Marc~ [MVP] a pris la peine d'écrire
ce qui suit :Salutations jeclephi, tu nous disais :Bonjour,
...........
Mais pourquoi ne pas commander Excel directement au lieu de lui
envoyer des séquences de touches ?
[...]
Et je complèterai cette excellente suggestion de Jean-Marc par quelques
compléments pratiques :
Vu que l'on ne connait pas forcément toute la syntaxe de VBA d'Excel, le
plus simple est d'enregistrer les commandes voulues dans une macro, puis
ouvrir cette Macro par Visual Basic Editor (à lancer depuis Excel).
Ensuite effectuer un copier-coller du VBA dans le script VBS, en adaptant
un quart de poil les différneces de syntaxe.
J'utilise cela en permanence dans tout mes scripts VBS qui font appel à
Excel :
http://www.bellamyjc.org/fr/vbsdownload.html#accountlist
http://www.bellamyjc.org/fr/vbsdownload.html#listserv
http://www.bellamyjc.org/fr/vbsdownload.html#processus
http://www.bellamyjc.org/fr/vbsdownload.html#showadm
(tu peux t'en inspirer)
Un exemple très basique :
Depuis le VBS, tu veux exécuter la séquence suivante dans Excel :
- sélectionner toutes les cellules
- choisir la police Verdana en 10 points
[...] May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Bonsoir,
J'ai pleinement apprécié les conseils et ils ne sont pas tombés dans
les yeux d'un aveugle.
Cependant je ne vois pas comment remplacer mon petit script par cette
méthode.
J'ai essayé d'enregistrer automatiquement une macro avec vba d'excel,
les opérations d'ouverture de menu n'ont pas été enregistrées.
Je joins le résultats de mes cogitations.
[...]
Set oShell = CreateObject("Wscript.Shell")
oShell.Run "Excel.exe" 'ouverture excel
Wscript.Sleep 200
oShell.AppActivate "Microsoft Excel"
'Wscript.Sleep 100
With oShell
.SendKeys "%m" 'activation du menu comptabilité
.SendKeys"{DOWN "&a&"}"
.SendKeys "{ENTER}" 'ouverture fichier concerné
.SendKeys b 'écriture du mot de passe dans la boite de dialogue
.Sendkeys "{Enter}" 'pour ouvrir fichier
end With
End Sub
[...]
Bonsoir,
J'ai pleinement apprécié les conseils et ils ne sont pas tombés dans
les yeux d'un aveugle.
Cependant je ne vois pas comment remplacer mon petit script par cette
méthode.
J'ai essayé d'enregistrer automatiquement une macro avec vba d'excel,
les opérations d'ouverture de menu n'ont pas été enregistrées.
Je joins le résultats de mes cogitations.
[...]
Set oShell = CreateObject("Wscript.Shell")
oShell.Run "Excel.exe" 'ouverture excel
Wscript.Sleep 200
oShell.AppActivate "Microsoft Excel"
'Wscript.Sleep 100
With oShell
.SendKeys "%m" 'activation du menu comptabilité
.SendKeys"{DOWN "&a&"}"
.SendKeys "{ENTER}" 'ouverture fichier concerné
.SendKeys b 'écriture du mot de passe dans la boite de dialogue
.Sendkeys "{Enter}" 'pour ouvrir fichier
end With
End Sub
[...]
Bonsoir,
J'ai pleinement apprécié les conseils et ils ne sont pas tombés dans
les yeux d'un aveugle.
Cependant je ne vois pas comment remplacer mon petit script par cette
méthode.
J'ai essayé d'enregistrer automatiquement une macro avec vba d'excel,
les opérations d'ouverture de menu n'ont pas été enregistrées.
Je joins le résultats de mes cogitations.
[...]
Set oShell = CreateObject("Wscript.Shell")
oShell.Run "Excel.exe" 'ouverture excel
Wscript.Sleep 200
oShell.AppActivate "Microsoft Excel"
'Wscript.Sleep 100
With oShell
.SendKeys "%m" 'activation du menu comptabilité
.SendKeys"{DOWN "&a&"}"
.SendKeys "{ENTER}" 'ouverture fichier concerné
.SendKeys b 'écriture du mot de passe dans la boite de dialogue
.Sendkeys "{Enter}" 'pour ouvrir fichier
end With
End Sub
[...]