Ouvrir une feuille Excel précise à l'intérieur d'un fichier Excel

Résolu
KikiBedo Messages postés 2 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 22 mars 2010 - 23 avril 2007 à 09:28
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007 - 23 avril 2007 à 09:51
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

sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
23 avril 2007 à 09:33
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.
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
23 avril 2007 à 09:39
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:
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 avril 2007 à 09:39
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
3
KikiBedo Messages postés 2 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 22 mars 2010
23 avril 2007 à 09:44
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
3

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

Posez votre question
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
23 avril 2007 à 09:51
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
3
Rejoignez-nous