Ouvrir classeur xlsm avec VB6

Imy55 Messages postés 3 Date d'inscription lundi 18 avril 2011 Statut Membre Dernière intervention 9 juin 2011 - 8 juin 2011 à 12:28
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 9 juin 2011 à 09:09
Bonjours,
S’il vous plait cela fait longtemps que je cherche une solution à mon problème mais en vain.
En fait, j’ai un classeur Excel .xlsm (avec des macros) et je veux l’ouvrir avec VB6.
Prière de m’aider.
Cordialement
Imy55

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juin 2011 à 13:38
Salut

Il te suffit d'ajouter à ton projet une référence à "Microsoft Excel XX.0 Object Library" où tu remplaces le XX par le n° de version de ton office (11=2003, 12=2007 et 14 pour 2010)

Ensuite, tu pourras dimensionner des objets propres à Excel, par exemple :
    Dim ExcelApp As Excel.Application
    Dim ExcelWbk As Excel.Workbook

    Set ExcelWbk = ExcelApp.Workbooks.Open("C:\mon fichier.xlsm")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
1
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
8 juin 2011 à 13:14
Bonjour,

Il y a une différence entre ouvrir un fichier xls et xlsm?
Qu'as tu déjà essayé comme code??

L'expérience, c'est une connerie par jour, mais jamais la même..
0
Imy55 Messages postés 3 Date d'inscription lundi 18 avril 2011 Statut Membre Dernière intervention 9 juin 2011
8 juin 2011 à 16:11
Voici le code que j'utilise (il ouvre des fichier .xls que .xlsm).Mais toujours à l'extérieur de la form ce que je veux c'est ne pas sortir de l'application et afficher le classeur à l'intérieur de la form.
merci pour votre réponse et j'espère que mon problème est plus claire mnt.

Private Sub Command1_Click()

Dim XlApp As Excel.Application

'Créer l'appli excel
Set XlApp = New Excel.Application

'Afficher l'appli excel
XlApp.Visible = True

'Ouvrir le fichier excel
XlApp.WorkBooks.Open "C:\Documents and Settings\Administrator\Desktop\PE.xlsm"

End Sub
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 juin 2011 à 00:15
Ah, ouvrir le classeur et l'afficher !
Détail qui m'échappait, puisque tu ne parlais de macros.

Mais que veux-tu faire ?
Si ce n'est que pour lancer Excel et que tu n'as pas besoin de liaison entre ton programme et les données, pas la peine de se compliquer la vie, l'API ShellExecute le fait très bien.

Si tu veux faire ça et limiter la zone de travail à une des formes de ton application, se sera plus délicat : Il faut utiliser l'API SetParent pour dire à Excel (du moins l'interface client de Excel) que son parent est la forme.
Il te faut donc retrouver le Handle de Excel après l'avoir lancé, puis appliquer le SetParent (le Handle de la forme VB est dans maForme.hWnd).

Méfie-toi, SetParent peut provoquer des crash de l'application VB : Prends bien soin de sauvegarder ton appli avant chaque essai.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

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

Posez votre question
Imy55 Messages postés 3 Date d'inscription lundi 18 avril 2011 Statut Membre Dernière intervention 9 juin 2011
9 juin 2011 à 01:15
[i]Bonsoir,
Je suis débutante en VB, ça fait pas longtemps que je travail avec et je cherche un code simple pour afficher Excel dans objet VB .
Comment puis je travailler avec l’API ShellExecute. Si vous avez un tuto ou bien si vous vous rappeler d’un code source déjà déposé sur le site filez le moi.
Désolé pour le dérangement
Cordialement
Imy55
/i
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 juin 2011 à 09:09
ShellExecute : Une simple recherche de "ShellExecute" parmi les sources sauf .Net te répondra.

On ne sait toujours pas ce que tu veux faire avec ton fichier Excel.
Si tu n'as besoin que d'afficher des données, tu peux aussi ajouter un objet Excel directement sur ta forme :
Ctrl-T pour faire apparaitre l'ajout de composant + onglet "Objet à insérer" et tu recherches "Feuille de calcul Microsoft Excel".
Ne me demande pas comment ça marche, ça doit être décrit dans l'aide.
0
Rejoignez-nous