Ouvrir explorateur pour choisir fichier excel

Résolu
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 - 23 août 2009 à 15:06
avyrex Messages postés 6 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 26 août 2009 - 26 août 2009 à 23:59
Bonjour a tous,

Je veux ajuster un code afin de pouvoir choisir le fichier excel que je veux ouvrir sur mon ordinateur.

En ce moment, je dois donner le chemin exacte, mais je veux qu'il m'ouvre l'explorateur afin de choisir un fichier excel.

Comment faire s.v.p?

Voici mon code:
Dim xlObject    As Excel.Application
Dim xlWB        As Excel.Workbook
 
    Set xlObject = New Excel.Application
 
   Set xlWB = xlObject.Workbooks.Open("C:\Documents and Settings\xxxxxxx\Desktop\Order Template.xls") 'Open your book here
              
   Clipboard.Clear
   With xlObject.ActiveWorkbook.ActiveSheet
       .Range("A1:z200").Copy 'Set selection to Copy
   End With
   With MSFlexGrid1
       .Redraw = False     'Dont draw until the end, so we avoid that flash
       .Row = 0            'Paste from first cell
       .Col = 0
       .RowSel = .Rows - 1 'Select maximum allowed (your selection shouldnt be greater than this)
       .ColSel = .Cols - 1
       .Clip = Replace(Clipboard.GetText, vbNewLine, vbCr) 'Replace carriage return with the correct one
       .Col = 1            'Just to remove that blue selection from Flexgrid
       .Redraw = True      'Now draw
   End With
      
   xlObject.DisplayAlerts = False 'To avoid "Save woorkbook" messagebox
   'Close Excel
   xlWB.Close
   xlObject.Application.Quit
   Set xlWB = Nothing
    Set xlObject = Nothing


Merci pour votre aide.

6 réponses

avyrex Messages postés 6 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 26 août 2009
26 août 2009 à 23:59
Super, avec vos idées, voici le résultat:

Dim xlObject    As Excel.Application
Dim xlWB        As Excel.Workbook
On Error GoTo MyErrHandler

    With CommonDialog1
        .CancelError = True
        .Filter = "Microsoft Excel files (*.xls)|*.xls"
        .InitDir = App.Path
        .ShowOpen
        If Not .FileName = "" Then
            Set xlObject = New Excel.Application
            Set xlWB = xlObject.Workbooks.Open(.FileName)
          LakeShore.Command2.Visible = True
   Clipboard.Clear
  
   With xlObject.ActiveWorkbook.ActiveSheet
       .Range("A1:z200").Copy 'Set selection to Copy
   End With
   With MSFlexGrid1
       .Redraw = False     'Dont draw until the end, so we avoid that flash
       .Row = 0            'Paste from first cell
       .Col = 0
       .RowSel = .Rows - 1 'Select maximum allowed (your selection shouldnt be greater than this)
       .ColSel = .Cols - 1
       .Clip = Replace(Clipboard.GetText, vbNewLine, vbCr) 'Replace carriage return with the correct one
       .Col = 1            'Just to remove that blue selection from Flexgrid
       .Redraw = True      'Now draw
   End With
      
   xlObject.DisplayAlerts = False 'To avoid "Save woorkbook" messagebox
   'Close Excel
   xlWB.Close
   xlObject.Application.Quit
   Set xlWB = Nothing
    Set xlObject = Nothing 
    
     End If
    End With
    
    Exit Sub
MyErrHandler:
    Err.Clear
3
Rejoignez-nous