Pb filedialog

sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007 - 22 févr. 2007 à 08:46
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 27 févr. 2007 à 15:04
Bonjour,

voilà une question conne mais comme j'ai un peu beaucoup de mal à réfléchir en ce moment j'y arrive pas.

Voilà mon code (tout simple):

dim bouh as filedialog

set bouh = application.filedialog(msofiledialogopen)
bouh.title = "test"
bouh.allowmultiselect = false

bouh.show
bouh.execute

set bouh = nothing

(j'ai pas noté le début et la fin mais bon ça ne change rien puisque le problème n'est pas là)
Le problème est donc que lorsque j'ouvre un fichier excel, celui ci reste ouvert et je dois le fermé manuellement après avoir fermer le fichier que je vien d'ouvrir.

Si quelqu'un pouvait me donner le bouh de code qu'il me manque, ou modifier le mien pour que ça fonctionne bien

14 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 févr. 2007 à 09:44
Salut,
Que faut il pour tester ton code?
Quelle dll faut il mettre ne référence dans VB6

@+: Ju£i?n
Pensez: Réponse acceptée
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
22 févr. 2007 à 09:52
j'ai juste rajouté le microsoft office object (j'ai la version 10.0) et le microsoft excel object (mais ça c'est pour faire autre chose)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 févr. 2007 à 11:21
Salut,
Ce que je ne comprend pas c'est que même en cochant ces références, FileDialog n'est pas une méthode reconnue de l'objet  Application.

@+: Ju£i?n
Pensez: Réponse acceptée
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
22 févr. 2007 à 11:28
je donne toutes mes références comme ça il n'y aura aucun lézard:
Visual Basic For Applications
Visual Basic runtimes objects and procedures
Visual Basic objects and procedures
Microsoft Excel 10.0 Object Library
Microsoft Office 10.0 Object Library
Microsoft Graph 10.0 Object Library

j'ai rien d'autre (que du classique quoi) et FileDialog est bien reconnu, la fenêtre de dialoque s'affiche normalement, le fichier sélectionner s'ouvre, mais Excel reste ouvert quand je ferme le fichier.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
22 févr. 2007 à 11:50
comment as-tu déclarer ta variable application ????

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
22 févr. 2007 à 11:53
rajoute un application.quit au moment ou tu veux fermer Excel.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
22 févr. 2007 à 13:41
1°) pour déclarer ma variable application: voir le 1er message de ce post
2°) si je rajoute un application.quit, excel se fermera immédiatement (ça peut servir). mais ce que je cherche, c'est à fermer excel manuellement.
Je me réexplique parce que apparement je n'ai pas été assez clair:

_mon code me permet de sélectionner un fichier à ouvrir (jusque là aucun soucis)
_il ouvre ensuite ce fichier, en général Excel, pour que je puisse travailler manuellement dedans (jusque là aucun soucis)
_lorsque je quitte Excel, le fichier se ferme, mais pas Excel

je ne peux donc pas relancer mon programme (enfin cette partie tout du moins), et si je ferme Excel manuellement, je reçois un message (comme c'est gentil) d'erreur (c'est moins gentil) me disant "le serveur distant n'existe pas ou n'est pas disponible". (il ne reconnaît plus l'application FileDialog)

voilà je pense avoir tout bien dit donc si vous comprenez pas faites le moi savoir
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
23 févr. 2007 à 08:30
toujours pas d'âme charitable pour me sortir de ce problème?
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 févr. 2007 à 08:59
Salut,

Je viens d'essayer avec les versions 11 de :
Microsoft Excel 11.0 Object Library
Microsoft Office 11.0 Object Library

Cela fait idem, je ne peux ouvrir un fichier Excel qu'une seule fois ?!!

Voici un petit bout de code, qui répond indirectement à ton problème, pour ouvrir le fichier excel >> tu fait tes manip >> tu fermes excel >> et tu recommences autant de fois que tu le souhaites...
En espérant que cela puisse t'aider..

Dim Msg as String

'Gestion des erreur
 On Error GoTo erreur


Set ApExcel = CreateObject("excel.application")
            ApExcel.Visible = True
            ApExcel.DisplayAlerts = False
            ApExcel.Workbooks.Open App.Path & "\test.xls"
            Set AppExcel = Nothing
            Exit Sub
   
erreur:
    'Fermeture de Excel si existant sur le PC
    If ApExcel.Visible = True Then ApExcel.Application.Quit

    ' MsgBox Err.Description
    Msg = "Une erreur est survenue pendant l'ouverture du fichier. " & Vbcrlf
    Msg = Msg & "Veuillez contacter l'administrateur de ce logiciel." & Vbcrlf
    MsgBox Msg
    Set ApExcel = Nothing

    Exit Sub

A+
Exploreur
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
23 févr. 2007 à 09:26
ton code me serait utile si le fichier dans lequel je dois travailler ne changeait pas à chaque fois, et que je ne devais pas travailler manuellement dedans (suivant l'utilisateur les modifications ne sont pas les mêmes, et pour un même utilisateur suivant son humeur ça change aussi).

à la limite je peux demander à l'utilisateur d'entrer manuellement le chemin d'accès à son fichier mais je pense que peu de monde sait exactement où se situe le fichier qu'ils veulent, et le risque d'erreur lorsqu'on tape le chemin d'accès est trop important pour utiliser cette méthode.

j'vais finir par croire que ce pb est du uniquement à bill
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 févr. 2007 à 10:02
Salut,


C'est vrai que ton problème est bizarre, l'application reste ouvert dans le gestionnaire de tache, et quand tu termine le procéssus, il te sort le message d'erreur, ainsi aussi quand tu fais : Bouh.Application.Quit !!

That is the Question

A+
Exploreur
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
23 févr. 2007 à 11:02
Je pense que le problème doit apparaitre lors de l'ouverture du fichier. L'application doit s'ouvrir bizarrement, ou laisser trainer des truc on sait pas où, ce qui fait que ça plante ensuite.
Mais je trouve pas.
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
27 févr. 2007 à 14:57
Bon ce problème commence sérieusement à me faire <strike>chier</strike> perdre mon temps.
Pourtant ya des jambons ici qui devraient trouver, à moins que ce problème soit trop simple pour eux et qu'ils ne pensent que ça ne mérite pas de réponse, ce qui métonnerait connaissant l'ambiance de ce site.

Avis aux amatrices... (les amateurs aussi à la rigueur)
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
27 févr. 2007 à 15:04
Salut sobullshit ,

Avis perso, ce n'est pas en "parlant" comme tu le fais dans ton post ci-dessus, que tu va avoir des réponses...Maintenant tu fais comme tu veux...

A+
Exploreur
0
Rejoignez-nous