Ouvrir un fichier Excel à partir de VB6

[Résolu/Fermé]
Signaler
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
-
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
-
Bonjour,

Je cherche à ouvrir un fichier excel pour aller y écrire depuis une application VB6.

Le nom du fichier est contenu dans une variable et je ne parviens pas à ouvrir le fichier.

Merci de votre aide.

Pour info, voici le code

myshell = Shell("C:\Program Files\Microsoft Office\Office12\EXCEL.exe fichier", 1)

Fichier est définit plus tôt est est du format c:\un dossier\un fichier.xls

11 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 172
Bonjour,

Essais ça:

myshell = Shell("C:\Program Files\Microsoft Office\Office12\EXCEL.exe" & Fichier, 1)

;o)
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
Salut Polux et merci de l'info.


J'ai essayé et ça ne fonctionne pas. Il m'envoie que le fichier est introuvable.

Si je remplace fichier par le vrai chemin alors ça fonctionne.

EN mode débogage, fichier est défini comme "c:\mon dossier\mon fichier.xls"

Crois tu que se soit les guillemets qui mettent le bazar et si oui, comment les enlever ?

Merci encore
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 175
Bonjour,
Shell permet d'ouvrir une application mais pas d'intervenir dedans à partir de ton appli.
Pour ça voir cette piste
A+
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
Merci lermite222

Le code que tu m'as donné fonctionne pour crer un nouveau fichier excel.

Là, je voudrais ouvrir celui contenu dans la variable fichier

Merci de me dire comment remplacer le Set Book = EX.Workbooks.Add

en creation.

A+
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 172
re

Remplace Set Book = EX.Workbooks.Add par Set Book = EX.Workbooks.Open(Fichier)

;o)
et pourquoi pas tout simplement un OLE
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 175
bonjour,
En fait, avec EX tu peu appliquer toutes les fonctions "Application" et avec Book toutes les fonctions "WoorkBooks"
par exempl, si tu a beaucoups d'opérations à faire sur la Feuil1 ....
Dim Feuil as WorkSheets
Set Feuil = Book.sheets("Feuil1")
A+
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
Salut et merci Lermitte, ça fonctionne

Je voudrais encore une précision, tu dis que je peux modifier ma feuille, mais je voudrais rendre visible ou invisible certain bouton (CommandButton).
Pour le moment, j'ai fais sheets(1).CommandButton4.visible=false mais ça marche pas.
J'ai remplacé Sheets par Book et rine non plus.

As tu la solution ?

Merci
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 175
1°) Pour les rendre Visible/caché il faut que ce soit des bouton ActiveX et pas des boutons "Formulaire"
2°) Employer l'index de la feuille n'est pas certain, les feuilles pouvant êtres déplacées.
3°) il faut probablement assigner la feuille au classeur... Book.Sheets("NomFeuille").comman....visible = false
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
Salut et merci, le problème est résolu, j'ai détourné la difficulté en trouvant une étape sur le fichier excel qui me fais devenir les bouton invisible.

Merci encore

As tu une solution pour imprimer un fichier pdf depuis vb 6 ?

Si oui, j'abuse, mais je prends

Merci
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 175
Là j'ai pas de solution
A+