FAQ Visual Basic Consultez toutes les FAQ

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

 
OuvrirSommaireLiaison OfficeDivers Office

Voici une méthode dont le principe consiste à faire un copier-coller de la feuille Excel vers la MsFlexGrid. Vous devez ajouter la reference "Microsoft Excel x.0 Object Library" à votre projet.

Placez le code suivant dans un module standard. La procédure Excel2Flexgrid importe dans une MSFlexGrid le fichier dont le nom est passé en paramètre.

vb
Sélectionnez
Public Sub Excel2Flexgrid(flexgrid As MSFlexGrid, ByVal fichier As String)
 
    Dim xlapp As Excel.Application
    Dim classeur As Excel.Workbook, feuille As Excel.Worksheet, Plage As Excel.Range
 
    Set xlapp = New Excel.Application
    xlapp.DisplayAlerts = False
    Set classeur = xlapp.Workbooks.Open(fichier)
    Set feuille = xlapp.ActiveSheet
    Set Plage = feuille.Range("A1").CurrentRegion
 
    With flexgrid
        .Cols = Plage.Columns.Count
        .Rows = Plage.Rows.Count
        .Col = 0
        .Row = 0
        .ColSel = .Cols - 1
        .RowSel = .Rows - 1
        Plage.Copy
        .Clip = Replace(Clipboard.GetText, vbCrLf, vbCr)
    End With
 
    Set Plage = Nothing
    Set feuille = Nothing
    classeur.Close False
    Set classeur = Nothing
    Set xlapp = Nothing
 
End Sub
Créé le 26 avril 2004  par Jean-Marc Rabilloud, ThierryAIM

Ce code n'est à utiliser seulement si Outlook est le client de messagerie par défaut, sinon MAPI vous renvoie une erreur.

Cochez la référence à Outlook dans les références du projet. Posez un textbox nommé "résultat" sur une form et placez ce code dans le module de la form :

vb
Sélectionnez
Private Declare Function MAPIDetails Lib "MAPI32.DLL" Alias "BMAPIDetails" _
                                     (ByVal Session&, ByVal UIParam&, Recipient As MapiRecip, _
                                      ByVal Flags&, ByVal Reserved&) As Long
Private Declare Function MAPIResolveName Lib "MAPI32.DLL" Alias "BMAPIResolveName" _
                                         (ByVal Session&, ByVal UIParam&, ByVal UserName$, _
                                          ByVal Flags&, ByVal Reserved&, Recipient As MapiRecip) As Long
 
Private Type MapiRecip
    Reserved As Long
    RecipClass As Long
    Name As String
    Address As String
    EIDSize As Long
    EntryID As String
End Type
 
Sub listemail()
    Dim X As Long, I As Long
    Dim out As Outlook.Application
    Dim a As Object, mapi As Object
    Dim ctrlists As Integer
    Dim info As MapiRecip
 
    Set out = New Outlook.Application
    Set mapi = out.GetNameSpace("MAPI")
    For ctrlists = 1 To mapi.AddressLists.Count
        Set a = mapi.AddressLists(ctrlists)
        For X = 1 To a.AddressEntries.Count
            I = MAPIResolveName(0, 0, a.AddressEntries(X), 0, 0, info)
            resultat.Text = resultat.Text & "Nom :    " & info.Name & "   " & " @ : " & _
                            Replace(info.Address, "SMTP:", "") & vbCrLf
    'I = MAPIDetails(0, 0, info, 0, 0) 'pour editer les détails.
            DoEvents
        Next
        DoEvents
    Next
    Set a = Nothing
    Set out = Nothing
    Set mapi = Nothing
End Sub

La procédure listemail affiche les informations dans le textbox.

Créé le 6 septembre 2004  par ThierryAIM, Alexandre Lokchine

Ce code permet d'utiliser les états existants sous Access. Cochez les références à Access dans le projet Visual Basic et copiez le code approprié.

Ouverture de la base de données Access :

vb
Sélectionnez
Dim MaDbMat As String
Dim MesEtats As Access.Application
 
MaDbMat = App.Path & "\MaBase.mdb"
 
Set MesEtats = New Access.Application      
MesEtats.OpenCurrentDatabase MaDbMat, False

Pour imprimer un état sans le visualiser :

vb
Sélectionnez
MesEtats.DoCmd.OpenReport "NomdeMonEtat", acViewNormal

Pour prévisualiser un état en mode plein écran :

vb
Sélectionnez
MesEtats.Visible = True
MesEtats.DoCmd.OpenReport "NomdeMonEtat", acViewPreview
MesEtats.DoCmd.Maximize

Pour le mode Design en plein écran :

vb
Sélectionnez
MesEtats.Visible = True
Mesetats.DoCmd.OpenReport "NomdeMonEtat", acViewDesign
MesEtats.DoCmd.Maximize
Créé le 28 juin 2004  par Khany

Vous devez ajouter la référence à Microsoft PowerPoint xx.x library à votre projet (Menu Projet >> Références...).

vb
Sélectionnez
Private Sub Command1_Click()
Dim pPoint As PowerPoint.Application
Dim dPoint As PowerPoint.Presentation
 
    Set pPoint = CreateObject("PowerPoint.Application")
    pPoint.ShowWindowsInTaskbar = False
    pPoint.Visible = True
 
    Set dPoint = pPoint.Presentations.Open("C:\Test.ppt")
    dPoint.SaveAs "C:\Test.html", ppSaveAsHTML
    dPoint.Close
    pPoint.Quit
    Set pPoint = Nothing
    Set dPoint = Nothing
End Sub
Créé le 22 décembre 2008  par ThierryAIM
  

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.