Bonjour à tous,
Je suis actuellement de développer une partie d'application qui, en appuyant sur un bouton et à l'aide d'une procédure OLE, doit venir lire les informations d'une feuille Excel afin de les réimporter dans un fichier FIC.
Jusque là, je n'ai aucun problème pour ouvrir mon fichier et sélectionner la feuille dont j'ai besoin. Pareil pour la lecture des informations (je vérifie pour le moment avec un Trace(xxx) que je remonte bien les informations voulues).
Le problème se pose au moment de la fermeture du fichier. Pour le moment, je me suis arrêté à la fonction Trace() simplement pour savoir si ce que je voulais faire jusque là fonctionnant bien, le fichier s'ouvre, le trace m'affiche mes informations, mais la fermeture du fichier ne se fait pas "correctement" car je n'effectue aucune modification (à part la sélection de la feuille qui, je pense, doit faire penser à un changement du fichier par Excel) et j'ai pourtant la proposition d'enregistrer de nouveau le fichier.
Savez-vous s'il y a un moyen de ne plus me retrouver face à ça ?
Voici le code que j'appelle pour le moment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 FichierSélectionné est une chaîne i est un entier sNomrep est une chaîne TestCHaine, TestChaine2, TestChaine3 est une chaîne HLitRecherche(variable,NOM,"repertoiresource") SI HTrouve ALORS sNomrep = SansEspace(variable.VALEUR) FIN FichierSélectionné = fSélecteur(sNomrep+"Dossier Test", "", ... "Sélectionner un fichier", ... "Fichier Excel (*.xls)" + TAB + "*.xls" + RC + "Fichier Excel (*.xlsx)" + TAB + "*.xlsx", "xls") SI FichierSélectionné <> "" ALORS Procedures_globales.xls>>workbooks>>open(FichierSélectionné) Procedures_globales.xls>>ActiveWorkbook>>Sheets("LANCEMENT")>>Select() SI ErreurDétectée = Faux ALORS POUR i=2 _A_ Procedures_globales_de_wana.xls>>ActiveSheet>>UsedRange>>Rows>>Count TestCHaine = Procedures_globales_de_wana.xls>>Range("A"+(i))>>Value TestChaine2 = Procedures_globales_de_wana.xls>>Range("D"+(i))>>Value TestChaine3 = Procedures_globales_de_wana.xls>>Range("E"+(i))>>Value Trace(TestCHaine + TAB + TestChaine2 + TAB + TestChaine3) FIN Procedures_globales.xls>>ActiveWorkBook>>Save() Procedures_globales.xls>>ActiveWorkBook>>Close() FIN FIN FIN
Partager