Ouvrir une feuille Excel précise à l'intérieur d'un fichier Excel [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
22 mars 2010
-
Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007
-
Hello,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>






 






Je veux ouvrir depuis une fenêtre Windows un document Excel sur une page précise. Lorsque je mets en place une méthode de ce style :






 








    Private Sub ouvreFichier (ByVal vChemin as String)








        Try








            System.Diagnostics.Process.Start(vChemin)








        Catch ex As System.ComponentModel.Win32Exception








            MsgBox("Problème d'ouverture du fichier " &








               txtFicheTravail.Text & ". Essayez manuellement."








               & vbCrLf & vbCrLf & ex.Message)








            Exit Sub








 
      End Try








   



End Sub







 






Tant que je passe des noms de document (vChemin = "c:\test.xls"), cela fonctionne, aussi bien Word, qu’Excel.






 






Mais quand je veux, par exemple, ouvrir le même document, mais sur une feuille précise et positionner sur une cellule précise (vChemin =  "c:\test.xls#’Feuille2’!A1"), je reçois le message "Fichier Introuvable".






 






Ce type de lien fonctionne en lien hypertexte sous Word et Excel parfaitement.






 






Merci d’avance pour toute idée de solution.








Christian BEDONI

5 réponses

Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Si tu veux ouvrir sur une feuille précise et sur une case précise, il suffit de les activer une fois que tu as ouvert ton classeur.
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
C'est du .Net et pas VB6 non?
regarde du côté de mes sources et tu auras la réponse!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Sinon tu peux essayer un truc du style
Private Sub ouvreFichier(ByVal vChemin As String, ByVal Feuille As String, ByVal Cel As String)
   'Avec une référence a Microsoft Excel Object Library
   Dim XlApp As New Excel.Application
   Dim WB As Workbook
   Set WB = XlApp.Workbooks.Open(vChemin)
   'Slection de la feuille passée en parametre
   WB.Worksheets(Feuille).Select
   'Activation de la cellule
   ActiveSheet.Range(Cel).Activate

   '[LES MODIF...]
   Call WB.Close(True)
   Call XlApp.Quit
   Set XlApp = Nothing
   Set WB = Nothing

End Sub , ----
[code.aspx?ID=41455 By Renfield]
CEci est en VB6 à traduire en .NET
NOTE: Essaie de poster ta question dans la section correcte

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
22 mars 2010

Je travaille en .NET.
La solution en travaillant directement avec Excel est correcte si tu connais le type de document. <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






 






Dans mon cas, je récupère un nom de fichier qui peut être de n’importe quel type (txt, doc, xls, etc…) et qui peut avoir des arguments (page et cellule dans le cas d’Excel). Je ne veux pas m’occuper de faire la distinction par type.






 






Je veux pouvoir passer l’information de page et de cellule directement dans ma méthode, comme on le fait sur un lien hypertexte dans Word ou Excel.





Christian BEDONI
Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Euh... sauf erreur de ma part si tu souhaites travailler dedans les commandes ne sont pas les mêmes donc tu dois faire la distinction (il suffit de regarder l'extension du fichier) avant d'utiliser la bonne méthode.
Enfin bon je dis ça mais .NET je connais pas