Page 1 sur 1

[..] Ouverture d'un fichier Excel sous Windows 7

Posté : jeu. 13 oct. 2011 16:14
par CarolineB
Bonjour,

Je souhaiterais faire une chose assez simple : ouvrir un fichier Excel puis récupérer une valeur dans une cellule.

Le code que j'utilise est le suivant :

Code : Tout sélectionner

#include <Excel.au3>
Dim $excel
$excel = FileOpenDialog("Choisissez le fichier Excel",@DesktopDir, "Classeurs Excel 2003 (*.xls)|Classeurs Excel 2007 (*.xlsx)|Classeurs Excel prenant en charge les macros (*.xlsm)")
_ExcelBookOpen($excel,1, False)
MsgBox(1,"",@error)
 
Et ça ne fonctionne pas, la MsgBox me renvoie la valeur 1 qui correspond à "Unable to create the object".
Je pense que le problème vient d'une incompatibilité entre Windows XP et Windows 7. Car j'avais coder la même chose sur un ancien ordi (Windows XP, j'ai maintenant Windows 7) et ça fonctionnait. De même lorsque je compile ce script, le .exe n'est pas reconnu par les ordinateurs sous XP (on me dit que le fichier n'est pas une application win32) alors que sur le mien ça marche. Et l'ancienne version que j'avais coder sur XP tourne toujours sur les ordis XP.

Quelqu'un aurait une idée d'où cela peut provenir ?

Merci d'avance

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 14 oct. 2011 20:48
par xavierha
premiere pensee a ce sujet:
est ce que c'est windows 7 64 bits?
Si oui, il faut compiler le script avec l'option 64 bits.
Seconde pensee:
les permissions COM peuvent etre inadequates.
Une solution possible: lancer le script en tant qu'administrateur

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 14 oct. 2011 21:48
par Ahbadiane
Bonsoir,

J'ai testé ton code sous Windows 7 64bits et Office 64bits
En compilant en 32 ou 64 bits, tout fonctionne
Dans ton cas, as-tu office 64bits ?

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 14 oct. 2011 23:12
par xavierha
Il y a des chances que ce soit un probleme de droits insuffisants. Si c'est le cas, une solution serait de donner les droits suffisants a Excel a l'utilisateur Invite (Guest).
Tu peux essayer ceci (Ma machine est en Anglais, et ma traduction ne sera peut etre pas parfaite, mais si tu ne comprends pas, j'essaierai d'ameliorer mes explications):
1) Clique sur Demarrer, et demarre le panneau de configuration. Dans le panneau de configuration, double clique sur Outils Administratifs, et dans les outils administratifs, demarre services de composants (Component Services).
2) Dans la fenetre de services de composants, choisis sous la racine Services de composants/Ordinateurs/Poste de travail/Configuration DCOM
3) Cherche l'icone de MS Excel et fais un clic droit dessus, dans le menu de contexte qui apparait, choisis Proprietes, et dans la fenetre Proprietes, l'onglet de securite.
4) Dans la section Permissions de lancement et d'activation, choisis Personnaliser, et appuie sur le bouton Editer. Ajoute l'utilisateur guest et appuie sur le bouton Verifier Noms. Clic sur OK. Ensuite donner toutes permissions a l'utilisateur Guest, et clic sur OK.
Bonne chance

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 17 oct. 2011 18:30
par CarolineB
Merci pour vos réponses qui m'amènent à me poser d'autres questions :
xavierha a écrit :premiere pensee a ce sujet:
est ce que c'est windows 7 64 bits?
Si oui, il faut compiler le script avec l'option 64 bits.
Seconde pensee:
les permissions COM peuvent etre inadequates.
Une solution possible: lancer le script en tant qu'administrateur
Il me semble que c'est effectivement Windows 64bits mais comment/où puis-je vérifier ?
Comment compile-t-on en 64 bits ?
Ahbadiane a écrit :Bonsoir,

J'ai testé ton code sous Windows 7 64bits et Office 64bits
En compilant en 32 ou 64 bits, tout fonctionne
Dans ton cas, as-tu office 64bits ?
Idem, comment sait-on si on a office 64 bits ?

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 17 oct. 2011 18:43
par CarolineB
xavierha a écrit :Il y a des chances que ce soit un probleme de droits insuffisants. Si c'est le cas, une solution serait de donner les droits suffisants a Excel a l'utilisateur Invite (Guest).
Tu peux essayer ceci (Ma machine est en Anglais, et ma traduction ne sera peut etre pas parfaite, mais si tu ne comprends pas, j'essaierai d'ameliorer mes explications):
1) Clique sur Demarrer, et demarre le panneau de configuration. Dans le panneau de configuration, double clique sur Outils Administratifs, et dans les outils administratifs, demarre services de composants (Component Services).
2) Dans la fenetre de services de composants, choisis sous la racine Services de composants/Ordinateurs/Poste de travail/Configuration DCOM
3) Cherche l'icone de MS Excel et fais un clic droit dessus, dans le menu de contexte qui apparait, choisis Proprietes, et dans la fenetre Proprietes, l'onglet de securite.
4) Dans la section Permissions de lancement et d'activation, choisis Personnaliser, et appuie sur le bouton Editer. Ajoute l'utilisateur guest et appuie sur le bouton Verifier Noms. Clic sur OK. Ensuite donner toutes permissions a l'utilisateur Guest, et clic sur OK.
Bonne chance
J'ai essayé mais dans Services de composants/Ordinateurs/Poste de travail/Configuration DCOM, je ne trouve pas MS Excel.
Il me semble que c'est parce qu'on a une licence partagée au boulot.

Sinon j'ai aussi essayé d'exécuter en tant qu'administrateur et j'ai le même problème.

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 17 oct. 2011 21:00
par Strofe
Bonsoir

Tu as quel pack office ??

A+

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 21 oct. 2011 15:19
par Yle
Bonjour,

Je n'ai pas la solution mais il m'arrive la même chose avec un produit que j'ai passé à plusieurs copains...

Toux ceux qui sont en XP ou Vista avec Excel 2003, 2007 : aucun souci
Par contre avec Windows Seven + Office 2010 : le message d'erreur s'affiche

Ce qui pose souci :
► Afficher le texte
Dans le forum Anglais, un utilisateur préconise d'utiliser :
#Region
#AutoIt3Wrapper_UseX64=N ; Don't use 64-bit
#EndRegion

Qui peut me faire cet essai sous Seven & Office 2010 avec ou sans cette directive ?
Sinon quelle est la solution ?

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 21 oct. 2011 16:26
par bob
Effectivement, cela fonctionne (j'avais le même problème).
Merci.
(essai avec Office 2007 et fichier enregistré sous classeur Excel 97-2003

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 21 oct. 2011 18:10
par Yle
Je sais qu'avec Office 2007, cela fonctionne.
J'ai demandé Seven + Office2010, étiez vous dans ce cas là ?

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : ven. 21 oct. 2011 18:25
par Ahbadiane
@Yle,

J'ai Seven 64bits et Office 2010 64bits
Les exe générés à partir de ton exemple en 32 bits et 64bits fonctionnent sans problème.
Même résultat que dans mon post précédent.

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : sam. 22 oct. 2011 02:19
par jchd
[déconnade]
L'avantage avec le nouvel Excel, c'est qu'il est ultra dégraissant et qu'il n'y a plus besoin d'essuyer !

Non, je n'ai pas vidé seul les nombreuses caisses de champagnes prévues à l'occasion du 5ème anniversaire du forum...
D'ailleurs en voici la preuve :

Image
[/déconnade]

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 24 oct. 2011 10:45
par CarolineB
@Strofe

J'ai Office 2010 et Windows 7 64 bits

@Yle

J'ai testé
#Region
#AutoIt3Wrapper_UseX64=N ; Don't use 64-bit
#EndRegion

et rien n'a changé. Je suppose qu'on intègre les deux premières lignes au début du code et la dernière à la fin du code.
J'ai l'impression que Autoit ne reconnaît pas #AutoIt3Wrapper_UseX64=N (il est en noir), c'est normal ?

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 24 oct. 2011 11:05
par jchd
La directive est ignorée par AutoIt et c'est normal car elle est à destination d'AutoItWrapper.

Les directives #Region et #EndRegion ne servent que pour la segmentation visuelle par Scite ; dans ce cas, laisse les trois lignes ensemble. Ces directives ne définissent pas la portée de ce qu'elles contiennent, mais servent seulement un but cosmétique. Clique sur un des + ou - dans la colonne de gauche sous Scite pour en apprécier l'effet.

As-tu une installation complète Scite4AutoIt à jour ?

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 24 oct. 2011 11:51
par CarolineB
Ok merci

J'ai donc téléchargé une version complète Scite4AutoIt à jour, effectivement maintenant la ligne de code est reconnue mais mon problème n'est toujours pas résolu.
Je n'arrive toujours pas à ouvrir de fichier Excel (qu"il soit 2003, 2007, 2010 ou xlsm).

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : lun. 24 oct. 2011 14:19
par jchd
Une licence partagée ? Mouais, regarde donc ces liens, des fois que...
http://social.msdn.microsoft.com/Forums ... 3aa87c10b3
http://social.msdn.microsoft.com/Forums ... 00b06637b/

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : mer. 26 oct. 2011 18:48
par ludoo

Re: [..] Ouverture d'un fichier Excel sous Windows 7

Posté : mer. 02 nov. 2011 18:29
par CarolineB
Merci pour les liens.

Entre temps j'ai trouvé un moyen pour passer outre l'ouverture de ce f** fichier Excel donc j'ai un peu laissé ce sujet entre parenthèses mais j'y reviendrai.

++