Bonjour,
Je travaille sur excel avec VB6, Windows 10, portable Assus
je voudrais pouvoir travailler sur un fichier excel déjà ouvert quand je lance vb6, sans en ouvrir un autre.
J’ai le code suivant qui ouvre bien mon fichier excel (MaListe) s’il n’est pas déjà ouvert :
'Ouvrir Excel
Set XLApp = New Excel.Application
Set XLBook = XLApp.Workbooks.Open("C:\Desktop\Excel.xlsm")
XLApp.Visible = True
XLBook.Activate
XLApp.WindowState = xlMinimized
Set XLSheet = XLApp.ActiveWorkbook.Sheets("Ma Liste ")
Liste = Val(XLSheet.Cells(2, 2).Value)
Ici la valeur de Liste est comme il se doit.
Si j’ajoute ceci :
‘Déja ouvert ou non
Dim intFile As Integer
intFile = FreeFile(0)
On Error Resume Next
Open "example.txt" For Input Lock Read Write As #intFile
If Err Then
Set XLApp = New Excel.Application
XLBook.WindowState = xlMinimized
Set XLApp = New Excel.Application
GoTo ouvert
Else
Set XLApp = New Excel.Application
Set XLBook = XLApp.Workbooks.Open("C:\Desktop\Excel.xlsm")
XLApp.Visible = True
XLBook.Activate
XLApp.WindowState = xlMinimized
Set XLSheet = XLApp.ActiveWorkbook.Sheets("Ma Liste ")
Liste = Val(XLSheet.Cells(2, 2).Value)
End If
Comme cela :
'Ouvre Excel
'Déja ouvert ou non
Dim intFile As Integer
intFile = FreeFile(0)
On Error Resume Next
Open "example.txt" For Input Lock Read Write As #intFile
If Err Then
Set XLApp = New Excel.Application
XLBook.WindowState = xlMinimized
Set XLApp = New Excel.Application
GoTo ouvert
Else
Set XLApp = New Excel.Application
Set XLBook = XLApp.Workbooks.Open("C:\Users\Jean-Claude\Desktop\DOOLYS 10\Jeu des vies.xlsm")
End If
ouvert:
XLApp.Visible = True
XLBook.Activate
XLApp.WindowState = xlMinimized
Set XLSheet = XLApp.ActiveWorkbook.Sheets("Liste des Joueurs")
Liste = Val(XLSheet.Cells(2, 2).Value)
Que le fichier excel soit déjà ouvert ou non, Liste est toujours zéro (0)
Quelqu’un saurait-il POURQUOI?
Merci de bien vouloir m’aider
JCTGT
--