Modifier fichier excel à partir d'un programme ouvert dans un fichier word

nroys Messages postés 2 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 13 août 2003 - 13 août 2003 à 10:23
nroys Messages postés 2 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 13 août 2003 - 13 août 2003 à 13:40
Bonjour à tous,

je dois modifier le fichier excel historique.xls quand les utilisateurs ouvrent un fichier word et à partir des données qu'ils fournissent.
J'ai écris le programme suivant qui ne marche pas :

Dim numcompte As Single
Dim nomclient As String
Dim n As Integer
Dim xlApp As Object

Sub historique()

numcompte = InputBox("numcompte")
nomclient = InputBox("nom client")

Set xlApp = CreateObject("Excel.Application")
xlApp.Open ("historique.xls")
xlApp.Worksheets(1).Range("A2").Activate
n = 1
Do While ActiveCell.Offset(n, 0) <> "" And ActiveCell.Offset(n, 0) <> numcompte
n = n + 1
Loop

ActiveCell.Offset(n, 2) = ActiveCell.Offset(n, 2) + 1
ActiveCell.Offset(n, 3) = Date

If ActiveCell.Offset(n, 0) = "" Then
ActiveCell.Offset(n, 0) = numcompte
ActiveCell.Offset(n, 1) = nomclient
End If

End Sub

Alors si vous pouviez m'expliquer ce qui lui plait pas.....

Par avance merci
et bonne continuation...

2 réponses

carnez Messages postés 120 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 2 août 2004
13 août 2003 à 10:51
bonjour,

plutôt que de faire un Createobject, j'aurais fait un Getobject :

set xlapp=getobject("historique.xls")

getobject lance l'application reconnue par le suffixe du fichier (en l'occurence, Excel grace à .xls)

il faut faire précéder le nom fu fichier par son chemin complet :
ex : c:\Mes Documents\historique.xls

ensuite, tu rends l'application Excel visible :
xlapp.application.visible=true

puis le fenêtre visible :
xlapp.application.windows(1).visible=true

tu fais tes mises à jour, puis tu fermes Excel

oiseau
0
nroys Messages postés 2 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 13 août 2003
13 août 2003 à 13:40
Merci d'avoir pris le temps de me répondre......

mais ça marche pas du tout !

bonne continuation.
0
Rejoignez-nous