Travailler sur une doc excel déjà ouvert (vb2005e)

vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 - 15 janv. 2007 à 16:27
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 - 15 janv. 2007 à 21:51
bonjour,

je risque de me répéter, mais franchement, j'y arrive pas!

voilà, j'ai un document excel (mondoc.xls) déjà ouvert par l'utilisateur, et je souhaite y faire des modif dans certaines feuilles

je pensais faire:

Dim docexcel
As Excel.Application
docexcel = GetObject("mondoc.xls", )

mais non, çà marche pas

ma question donc, comment faire pour travailler sur un doc excel déjà ouvert depuis vb2005

merci beaucoup

8 réponses

vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
15 janv. 2007 à 17:32
ai-je posé une question idiote , ou difficile ?
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 janv. 2007 à 17:56
Non, c'est juste que certainement personne n'a encore la réponse à ton problème.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
15 janv. 2007 à 18:51
ok, merci pour l'info, car je pensais que ct simple.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 janv. 2007 à 20:18
Salut Vercomax,

sans garanti, (je ne fais pas de DotNet), tu pourrais peut-être essayer ceci :

    Dim xlApp As Excel.Application, xlBook
As Object
    Dim sPathAndFileName As String

sPathAndFileName = "C:\Chemin
complet\nom fichier.xls"

On Error Resume Next
        
xlBook = GetObject(sPathAndFileName, "Excel.Aplication")
If Err.Number <> 0 Then
    Err.Clear
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    Set xlBook = xlApp.Workbooks.Open(sPathAndFileName)
Else
    Set xlApp = GetObject(, "Excel.Application")
End If

On Error GoTo 0

~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

En espérant que cela fonctionne 
@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
15 janv. 2007 à 20:56
merci pour ta réponse Mortalino, aucune erreur pour le code que tu me donnes, seul ombre, et de taille: çà ouvre en fait autant de fois que je lances ces lignes de code, et donc çà ne tient pas compte du fait que "C:\Chemin complet\nom fichier.xls" soit déjà ouvert.
je tourne en rond
bah, je finirai bien par trouver, mais çà dure
merci encore.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 janv. 2007 à 21:06
Je t'ai inséré une variable Static, je pense que ça devrait faire l'affaire  :

    Dim xlApp As Excel.Application, xlBook
As Object
    Dim sPathAndFileName As String
    Static OpenFile As Boolean  'ICI

sPathAndFileName = "C:\Chemin
complet\nom fichier.xls"

If Not OpenFile Then  'ICI
    On Error Resume Next
        
    xlBook = GetObject(sPathAndFileName, "Excel.Aplication")
    If Err.Number <> 0 Then
        Err.Clear
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Visible = True
        Set xlBook = xlApp.Workbooks.Open(sPathAndFileName)
    Else
        Set xlApp = GetObject(, "Excel.Application")
    End If

    On Error GoTo 0: OpenFile = True  'ICI
End If  'et le End If pour finir

~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
15 janv. 2007 à 21:45
idem, je l'ai lancé 2 fois, il ouvre 2 fois le fichier. j'ai fait un cop-col (sauf nom du fichier), pas d'erreur compilation, mais il ouvre 2 fois la feuille.

je pensais ptet rechercher dans un paramètres à fournir lors du :xlBook = docexcel.Workbooks.Open(sPathAndFileName)

encore merci
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
15 janv. 2007 à 21:51
j'ai maté le débogage, et il rentre systématiquement dans le err.Number<>0 et donc crée une nouvelle instance
0
Rejoignez-nous