Posez votre question Signaler

VBA ACCESS ouverture d'un fichier excel

glaya 2Messages postés 16 septembre 2003Date d'inscription - Dernière réponse le 25 août 2011 à 09:25
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
Lire la suite 

VBA ACCESS ouverture d'un fichier excel »

7 réponses
Réponse
+11
moins plus
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
Ajouter un commentaire
Réponse
+2
moins plus
Merci pour ton aide
ta réponse me sera bien utile
Ajouter un commentaire
Réponse
+0
moins plus
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
fred - 20 oct. 2003 à 14:25
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
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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)
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « VBA ACCESS ouverture d'un fichier excel » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?