FAQ Visual Basic

FAQ Visual Basic Consultez toutes les FAQ
Nombre d'auteurs : 50, nombre de questions : 300, dernière mise à jour : 15 juin 2021
Sommaire→Liaison Office→ExcelRajoutez, au projet la référence "Microsoft Excel xx.x Object library"
(menu projet Référence)
puis utilisez par exemple CreateObject pour créer l'objet Microsoft Excel :
Private Sub CdOuvrirExcel_Click()
Dim oExcel As Excel.Application
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = True 'Affiche l'application excel
MsgBox "Excel est ouvert"
oExcel.Quit
Set oExcel = Nothing 'libération mémoire..
End SubLien : Utiliser Excel à partir de Visual BasicUtiliser Excel à partir de Visual Basic
Rajoutez, au projet la référence "Microsoft Excel xx.x Object library"
puis utilisez la méthode Add de la collection Workbooks
Private Sub cdCreerClasseur_Click()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False 'Masque l'application excel (valeur par défaut)
Set oWk = oExcel.Workbooks.Add
'rajoute par exemple la date et heure actuelle en Feuil1 cellule A1
oWk.Sheets(1).Range("A1") = Now
'Sauve le classeur
oExcel.DisplayAlerts = False ' Pour éviter des questions si classeur déjà existant
oWk.SaveAs App.Path & "\MonClasseur.xls"
oWk.Close False 'Ferme le classeur
oExcel.Quit
Set oWk = Nothing
Set oExcel = Nothing 'libération mémoire..
End SubLien : Utiliser Excel à partir de Visual BasicUtiliser Excel à partir de Visual Basic
Rajoutez, au projet la référence "Microsoft Excel xx.x Object library"
puis utilisez la méthode Open de la collection Workbooks, pour ouvrir le classeur avant de le modifier
Private Sub cdModifClasseur_Click()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False 'Masque l'application excel (valeur par défaut)
On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas
Set oWk = oExcel.Workbooks.Open(App.Path & "\MonClasseur.xls")
On Error GoTo 0
If oWk Is Nothing Then
MsgBox "Erreur sur ouverture classeur", vbCritical
Exit Sub
End If
'rajoute par exemple la date et heure actuelle sur la derniére ligne colonne A.
oWk.Sheets(1).Range("A65535").End(xlUp).Offset(1, 0) = Now
'Sauve le classeur
oWk.save
oWk.Close False 'Ferme le classeur
oExcel.Quit
Set oWk = Nothing
Set oExcel = Nothing 'libération mémoire..
End SubLien : Utiliser Excel à partir de Visual BasicUtiliser Excel à partir de Visual Basic
Rajoutez, au projet la référence "Microsoft Excel xx.x Object library"
une fois le classeur ouvert ( voir Modifier une classeur ) utilisez le code suivant pour l'insertion de la feuille
...
Set oSh = oWk.Worksheets.Add
oSh.Name = "Mafeuille" 'Renomme la feuille
oSh.Range("C3") = "Agit sur la feuille"
'============= fin ajout feuille
Set oSh = Nothing ' libération mémoire...Rajoutez, au projet la référence "Microsoft Excel xx.x Object library"
Le classeur doit contenir la procédure publique à exécuter.
Private Sub cdLancerMacro_Click()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
Set oWk = oExcel.Workbooks.Open(App.Path & "\MonClasseur.xls")
On Error GoTo 0
If oWk Is Nothing Then
MsgBox "Erreur sur ouverture classeur", vbCritical
Exit Sub
End If
oExcel.Run "MaMacro" ' lance la macro
Set oWk = Nothing
Set oExcel = Nothing 'libération mémoire..
End Sub


