Ouvrir un fichier excel dans word [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
13 août 2007
-
Messages postés
4
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
13 août 2007
-
Bonsoir,
Tout d'abord, merci au papa de Thibaud, j'ai factorisé et j'ai réduit mon code.
Merci aussi à Casy, mais le problème se situait dans le fait que j'avais voulu incrémenter une année avec une boucle!!!!!
A présent que tous mes formulaires sont remplis, je voudrais terminer en stockant quelques données dans une feuille excel appelée "mes données"
J'ai donc fait des recherches et j'ai écris le code suivant pour ouvrir ma feuille excel depuis word
Private Sub OK_Click()
'Déclaration des variables
'Application Excel
Dim appexcel As excel.Application
'Classeur Excel
Dim wbExcel As excel.Workbook
'Feuille Excel
Dim wsExcel As excel.Worksheet
'Ouverture de l'application
Set appexcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appexcel.Workbooks.Open("C:\Documents and Setting\Administrateur\Mes documents\Mes sources de données\données.xls")
End Sub
le problème c'est que VB répond
erreur de compilation
type défini par l'utilisateur non défini dès la première ligne dim appexcel ....
Je ne sais plus quoi faire
merci d'avance pour votre aide

3 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

il ne faut pas passer par createObject, car c'est une liaison tardive (et d'autant plus que tu as bien déclaré le type par la librairie d'Excel)

Bref, vérifie que la référence Microsoft Excel Object Library soit bien coché, ensuite :

Private Sub OK_Click()
'Déclaration des variables
'Application Excel
Dim appexcel As NEW excel.Application
'Classeur Excel
Dim wbExcel As excel.Workbook
'Feuille Excel
Dim wsExcel As excel.Worksheet
'Ouverture de l'application
<strike>Set appexcel = CreateObject("Excel.Application")</strike>
' plus besoin, grâce au mot clé New, dès que tu utilises la variables appexcel, une instance se créera

'Ouverture d'un fichier Excel
Set wbExcel = appexcel.Workbooks.Open("C:\Documents and Setting\Administrateur\Mes documents\Mes sources de données\données.xls")
End Sub

Faudra penser soit dans la même procédure, à traiter les infos et fermer le classeur (puis vider les variables objets), soit à rendre tes variables Public, afin de les détruire à un moment ou à un autre.
Mais en ce qui concerne ton problème, à coup sûr, c'est que tu n'as pas cocher la référence d'Excel

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Si tu tiens à utiliser CreateObject à cause des conflits de versions qui pourraient survenir, il faut déclarer appexcel As Object

MPi
Messages postés
4
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
13 août 2007

salut,
merci pour vos réponses!
je pars en vacances, alors j'essaierai dès mon retour!