VBA ACCESS ouverture d'un fichier excel

glaya Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

7 réponses

michelh Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   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
glaya Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour ton aide
ta réponse me sera bien utile
2
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
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   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

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

Posez votre question
michelh Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   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
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
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
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