FAQ Visual Basic Consultez toutes les FAQ

Nombre d'auteurs : 50, nombre de questions : 300, dernière mise à jour : 9 février 2020 

 
OuvrirSommaireLiaison OfficeExcel

Rajoutez, 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 :

Ouvrir Excel
Sélectionnez
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 Sub
Créé le 16 septembre 2007  par bbil

Lien : 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

Créer classeur Excel
Sélectionnez
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 Sub
Créé le 16 septembre 2007  par bbil

Lien : 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

Modifier un classeur existant
Sélectionnez
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 Sub
Créé le 16 septembre 2007  par bbil

Lien : 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


Ajouter une feuille à un classeur existant
Sélectionnez
...
    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...
Créé le 16 septembre 2007  par bbil

Lien : Comment modifier un classeur ?

Rajoutez, au projet la référence "Microsoft Excel xx.x Object library"

Le classeur doit contenir la procédure publique à exécuter.


 
Sélectionnez
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
Créé le 16 septembre 2007  par bbil
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.