Ouvrir un fichier excel dans word

Résolu
titemi Messages postés 4 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 13 août 2007 - 12 août 2007 à 21:16
titemi Messages postés 4 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 13 août 2007 - 13 août 2007 à 10:31
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

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 août 2007 à 06:46
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>
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 août 2007 à 10:14
Si tu tiens à utiliser CreateObject à cause des conflits de versions qui pourraient survenir, il faut déclarer appexcel As Object

MPi
3
titemi Messages postés 4 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 13 août 2007
13 août 2007 à 10:31
salut,
merci pour vos réponses!
je pars en vacances, alors j'essaierai dès mon retour!
0
Rejoignez-nous