Bonjour
Voici mon environnement dans lequel j’évolue (WindowsXP, Excel 2003, VB6)
Au départ, j’ai créé un fichier excel «monclasseur.xls » contenant des données dans la feuille(1) et je l’ai enregistré dans un répertoire. J’ai lui ai mis un raccourci sur le bureau pour que je puisse l’ouvrir et le renseigner régulièrement
j'ouvre donc ce classeur Excel tout à fais normalement (par le biais de son raccourci), la feuille(1) contenant les données s’affiche à l’écran par défaut.
A partir de là
je voudrai créer une application VB6 qui reconnaîtrai donc le fichier Excel « monclasseur.xls » que j’ai ouvert précédemment pour lire et écrire dans les cellules de la feuille(1).
Dans VB6, je me suis servi de ce code que j’ai trouvé en consultant le site
J’ai également coché dans, Projet /Référence / "Microsoft Excel xx.x Object library"
Ce programme VB6 fonctionne très bien mais :
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 Dim AppExcel As Excel.Application Dim Classeur As Excel.Workbook Dim Feuille As Excel.Worksheet le programme pour démarrer Set AppExcel = CreateObject("Excel.Application") Set Classeur = AppExcel.Workbooks.Open(App.Path & "\monclasseur.xls") Set Feuille = Classeur.Worksheets(1) Mon programme pour renseigner des cellules type Feuille.Cells(1,1)=" merci beaucoup ") le programme pour quitter Application.DisplayAlerts = False ActiveWorkbook.Save Application.DisplayAlerts = True Classeur.Close AppExcel.Quit Set Feuille = Nothing Set Classeur = Nothing Set AppExcel = Nothing
A la fin de ce programme, le fichier excel «monclasseur.xls » est censé s’être enregistré avec les modification effectué dans la cellule(1,1), hors, rien ne s’est inscrit dans la cellule(1,1)..
Par contre :
Si je n’ouvre pas le fichier excel « monclasseur.xls »
j’utilise ce même code VB6
j'ouvre après le fichier excel « monclasseur.xls »
je constate que les modifications dans la cellule(1,1) ont bien été effectuées..
En fait, quand le fichier «monclasseur.xls » est ouvert, l’enregistrement ne ce fait pas sur le classeur ouvert, et j’ai remarqué que un double du fichier s’est enregistré sous C:\documentSetting\Utilisateur\... avec la cellule(1,1) modifiée.
Je voudrai simplement que VB6 reconnaisse le fichier Excel «monclasseur.xls » quand il est ouvert, modifie les cellules de la feuille(1), et enregistre les modifications.
Comment faire pour travailler avec VB6 sur un classeur Excel déjà ouvert
Merci encore
Partager