IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Manipulation fichier Excel avec Outlook


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    mars 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : mars 2014
    Messages : 46
    Points : 18
    Points
    18
    Par défaut Manipulation fichier Excel avec Outlook
    Bonjour,

    Je voudrais exporter des données de mail de Outlook vers un fichier Excel.
    Je bloque sur la manipulation de la partie Excel.

    Lorsque je veux par exemple connaître la dernière ligne d'une colonne avec le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerLigne = XlClas.worksheets(W1_Feuille1).Cells(Rows.Count, 1).End(xlUp).Row + 1
    J'ai le message d'erreur suivant :

    Nom : Excel-Erreur 424.JPG
Affichages : 43
Taille : 16,9 Ko

    Le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub export_des_données()
     
    Dim MonApplication As Object
    Dim monfichier As String
    Dim XlClas
    Dim Ws As Object
    Dim SelectedMail As MailItem
    Dim expediteur, objet, contenu As String
    Dim date_reception As Date
    Dim heure_reception As Date
    Dim Nom_Prenom As String
    Dim DerLigne As String
    Dim Feuille1 As String
     
        Feuille1 = "Suivi"
     
        Select Case TypeName(ActiveWindow)
            Case "Explorer"
                Set SelectedMail = ActiveExplorer.Selection.Item(1)
            Case "Inspector"
                Set SelectedMail = ActiveInspector.CurrentItem
        End Select
     
        'Récupération infos mail
        With SelectedMail
            If .SenderEmailType = "EX" Then
                expediteur = .Sender.GetExchangeUser().PrimarySmtpAddress
            Else
                expediteur = .SenderEmailAddress
            End If
     
            Nom_Prenom = .SenderName
            date_reception = CDate(Int(.ReceivedTime))
            heure_reception = TimeValue(.ReceivedTime)
            objet = .Subject
            contenu = .Body
        End With
     
        Set MonApplication = CreateObject("Excel.Application")
        MonApplication.Visible = True
        monfichier = "C:\Users\MA\Desktop\Travail\Suivi.xlsx"
     
        Set XlClas = MonApplication.Workbooks.Open(monfichier)
        Set Ws = XlClas.sheets(Feuille1)
     
        If Ws.FilterMode Then
            Ws.ShowAllData
        End If
        If Ws.FilterMode Then
            Ws.ShowAllData
        End If
     
        'Ecriture des valeurs dans Excel
        DerLigne = XlClas.worksheets(Feuille1).Cells(Rows.Count, 1).End(xlUp).Row + 1
        XlClas.worksheets(Feuille1).Cells(DerLigne , 7 + 1).Value = contenu

    Est-ce que certaines fonctions ne fonctionnent pas sous Outlook ?

    Merci.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    mars 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : mars 2014
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    Personne n'a une petite idée sur cette erreur ?

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    juillet 2012
    Messages
    5 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : juillet 2012
    Messages : 5 000
    Points : 9 720
    Points
    9 720
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il faut rattacher ton Rows.Count à son parent (c'est à dire la feuille).

    de plus, en late binding, tu ne peux pas utiliser directement la constante xlUp, tu dois la remplacer par son équivalant numérique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with XlClas.worksheets(W1_Feuille1)
    DerLigne = .Cells(.Rows.Count, 1).End(-4162).Row + 1
    end with

Discussions similaires

  1. Manipuler fichier excel avec c#
    Par sabari dans le forum C#
    Réponses: 4
    Dernier message: 04/06/2015, 18h58
  2. Réponses: 11
    Dernier message: 14/05/2009, 21h30
  3. manipuler fichier excel 2003 avec l'api jxl ?
    Par hoor3in dans le forum Documents
    Réponses: 2
    Dernier message: 30/04/2008, 14h16
  4. Manipuler un fichier excel avec python
    Par dipajero dans le forum Général Python
    Réponses: 4
    Dernier message: 10/02/2006, 00h14
  5. [VBA]Envoyer un fichier excel avec OutLook
    Par Sunchaser dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2006, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo