Ouvrir un fichier xls

Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010 - 4 juil. 2007 à 09:16
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010 - 5 juil. 2007 à 09:51
Bonjour,

Je fais un programme qui me donne une liste box de 8 colonnes avec une "liststyle = fmListStyleOption" qui me permet de cocher une ligne de ma liste box.
Je veux quand je coche la ligne, ça m'ouvre une feuille d'un classeur excel. Je veux donc ouvrir automatiquement le fichier excel (donc excel) puis dans ce fichier ouvrir la feuille dont le nom correspond à la premiere colonne de la listebox (et la ligne que j'ai selectionnée).

J'ai commencé à faire ceci:
Private Sub Fiche_Click()
Dim i As Variant
Dim nuance As String
Shell ("C:\Program Files\Microsoft Office\...\EXCEL.EXE D:\Mes Documents\...programme.xls")
i = 0
For i = 0 To 20
    If UsfRésultats.ListBox2.Selected(i) = True Then
        nuance = UsfRésultats.ListBox2.List(i)
        Sheets("nuance").Activate
        Exit For
    End If
Next i
   
End Sub

J'arrive à ouvrir excel mais pas mon fichier "programme.xls". Alors comment faire pour ouvrir automatique ce fichier (que mon programme s'excute sous excel ou ailleurs).


Ensuite est ce que j'ai fait pourrai marcher?


Merci de votre aide!

9 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 juil. 2007 à 09:49
Salut,
Le code que tu nous montre est sous quel VB?

@+: Ju£i?n
Pensez: Réponse acceptée
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
4 juil. 2007 à 09:54
Microsoft Visual Basic 6.3. C'est ça la question?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 juil. 2007 à 10:02
Re,
Oui, Tu es donc bien en VBA.
Si tu es directement sous EXCEL, tu n'a aucunement besoin de faire un Shell pour ouvrir ton Fichier Excel.
Sert toi plutot de la collection WorkBooks de l'objet Application.

Regarde ce petit exemple de code.
Private Sub Fiche_Click()
'Variant => Si tu sais que i est un entier
'déclare le directemetn comme tel c'est mieux
Dim i As Integer
Dim nuance As String

   'Le classeur que tu vas ouvrir
   Dim Wb As Workbook
   Set Wb = Application.Workbooks.Open("C:\Program Files\Microsoft Office\...\EXCEL.EXE D:\Mes Documents\...programme.xls")
   
   'i = 0 i déjà initialisé dans la boucle for donc ligne inutile
   For i = 0 To 20
       If UsfRésultats.ListBox2.Selected(i) Then
           nuance = UsfRésultats.ListBox2.List(i)
           Wb.Worksheets(nuance).Activate
           Exit For
       End If
   Next i
 
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
4 juil. 2007 à 10:10
merci de la réponse ... mais en fait voilà.Moi pour que ce soit plus simple j'ai travaillé dans excel. Mais je veux que ce programme soit exétable sous n'importe quelle application, pas forcement à partir d'excel.

Merci!
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 juil. 2007 à 11:11
À ce moment, fais une recherche sur
Excel.Application
Excel.Workbook
pour déclarer et créer une nouvelle instance d'Excel et un objet classeur

Par la suite, tu utilises un bout de code dans le genre de ce que jrivet te propose.
Tu devrais trouver pas mal de bouts de code là-dessus sur ce site.

MPi
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
4 juil. 2007 à 11:42
Merci! Je vais essayer
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
5 juil. 2007 à 09:19
Bonjour!
Ca y est j'ai réussi!!!
Je vous dit comment j'aifaitsiçavous interesse!
Private Sub Fiche_Click()
Dim i As Variant
Dim nuance As String
Dim fichier As String
Dim programme As String



Workbooks.Open Filename:="D:\Mes documents\.....Fiches matières.xls"
UsfRésultats.Hide




i = 0
For i = 0 To 20
    If UsfRésultats.ListBox2.Selected(i) = True Then
        nuance = UsfRésultats.ListBox2.List(i)
        Sheets(nuance).Activate
        Exit For
    End If
Next i
   
End Sub

Donc ça m'ouvre bien mon fichier .xls et la page que je souhaite mais seul petit truc c'est que la fenetre est réduite et je voudrais quelle s'affiche en grand sur l'écran.
Est ce que vous pourriez m'aider?
Merci!
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 juil. 2007 à 09:22
Re,
Essaie peu être juste après avoir ouvert ton classeur

ActiveWindow.WindowState = xlMaximized

@+: Ju£i?n
Pensez: Réponse acceptée
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
5 juil. 2007 à 09:51
Ok. Mais en fait la fenetre que je veux est active, agrandie mais caché derriere mon programme!
:-(
Il y a pas une fonction qui dit "mettre au premier plan"?
0
Rejoignez-nous