VBA ACCESS ouverture d'un fichier excel

glaya Messages postés 2 Statut Membre -  
 VBA Beginner XX -
Bonjour à tous,

voici mon problème :
dans ma base de donnée j'aimerai ouvrir un fichier execl à partie d'un bouton
quel est le code qui me permet de faire cela

Merci de votre aide
Glaya

7 réponses

  1. michelh Messages postés 16 Statut Membre 25
     
    Pour répondre à Fred :
    Il faut d’abord ajouter une référence à Excel pour disposer des objets d’Excel. Pour cela il faut ouvrir un module de code et ensuite utiliser le menu Outils, Références puis rechercher dans la liste : Microsoft Excel 8 (par exemple).

    Ensuite, voici un exemple de code (du bouton cmdOpenExcel) :

    Private Sub cmdOpenExcel_Click()
    Dim xls As Excel.Application
    On Error GoTo errHnd
    Set xls = CreateObject("Excel.Application")
    xls.Workbooks.Open "c:\toto.xls"
    xls.Visible = True
    Exit Sub
    errHnd:
    MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
    End Sub
    18
  2. glaya Messages postés 2 Statut Membre 2
     
    Merci pour ton aide
    ta réponse me sera bien utile
    2
  3. marinaetsonchat
     
    Bonjour,
    Le sujet est ancien je ne sais pas si j'aurai une réponse.
    Le code ci-dessus marche bien, sauf que ca m'ouvre 2 fois le fichier excel...

    Private Sub Bascule65_Click()
        Dim xls As Excel.Application
    
    On Error GoTo errHnd
        Set xls = CreateObject("Excel.Application")
        xls.Workbooks.Open "c:\AvisCom\Trimestriel.xls"
        xls.Workbooks("Trimestriel.xls").Sheets("Feuil2").Activate
        xls.Visible = True
        Exit Sub
    errHnd:
        MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
    End Sub


    si qqn a une idée ?
    1
  4. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Voilà une méthode qui peut être utilisée :
    Private Sub Bascule65_Click()
    
    Dim xls As Excel.Application
        Dim wk As Excel.Workbook
        Dim ws As Excel.Worksheet
    
    On Error GoTo errHnd
        Set xls = CreateObject("Excel.Application")
        Set wk = xls.Workbooks.Open("C:\AvisCom\Trimestriel.xls")
        Set ws = wk.Sheets("Feuil2")
        ws.Activate
        
        xls.Visible = True
        Exit Sub
    errHnd:
        MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
    End Sub
    


    Ne pas oublier de référencer : Microsoft Excel xx.x Object Library dans Outils > Références ...

    ;o)
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michelh Messages postés 16 Statut Membre 25
     
    Bonjour
    Il y a moyen très simple: créer un bouton en utilisant l'assistant : c’est un bouton de la catégorie Application et l’action est Exécuter Microsoft Excel. L’assistant te créera le code pour ouvrir Excel.
    Pour que l’assistant soit actif, il faut que le deuxième bouton de la barre d’outils soit enfoncé (celui après la flèche).
    On peut évidemment faire beaucoup mieux en ouvrant un fichier donné ou en pilotant Excel depuis ACCESS par du code VBA. Cela s’appelle alors OLE Automation.

    Bon courage
    Michel
    0
    1. fred
       
      oui ta démarche est bonne pour ouvrir un classeur excel mais comment faire pour ouvrir un fichier spécifique genre toto.xls à partir d'Access ?

      Merci d'avance

      fred
      0
  7. marinaetsonchat
     
    Ce code fonctionne tout aussi bien mais ça m'ouvre toujours 2 fois le fichier excel.

    En fait le problème vient du fait que j'utilisais l'évènement sur clic du bouton bascule. En utilisant l'évènement 'Sur souris appuyé' ça ne s'ouvre qu'une seule fois.
    0
  8. VBA Beginner XX
     
    j'ai compris ! Il fallait rajouter une référence (dans outils) pour que les objets excel soient reconnus depuis access !
    0