Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2011, 17h06   #1
Invité régulier
 
Femme Marie
Cadre Marketing Europe
Inscription : mars 2011
Messages : 29
Détails du profil
Informations personnelles :
Nom : Femme Marie
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Cadre Marketing Europe
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mars 2011
Messages : 29
Points : 6
Points : 6
Par défaut Vba Outlook 2003

Bonjour à tous, Bonjour le Forum,
Grâce à vous j'ai finalisé un dossier qui fonctionne parfaitement bien sur mon ordinateur personnel.
Ce dossier permet d’envoyer depuis mon tableau Excel, un mail aux personnes concernées, 3 mois avant l’échéance d’un prêt.
Maintenant je souhaiterais le transférer sur mon ordinateur professionnel.
Pas très compliqué me direz-vous et c'est chose faite.
Seulement cette macro a été créée sous Windows 7, Excel 2010, Outlook 2007.
Mon ordinateur professionnel est sous Windows XP, Excel 2003, Outlook 2003 et nous utilisons Microsoft Exchange Server ainsi qu’un VPN.
Tout cela me complique énormément la correction des codes et j’ai beau chercher, je ne trouve pas de solutions.
Auriez-vous l’a gentillesse de m’éclaircir ?
Il était écrit sur mon ordi perso :
Code :
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
Private Sub Workbook_Open()
Dim ol As New Outlook.Application
Dim olmail As MailItem, plage As Range
Dim admail As String, cel As Range, j As Long, derlg As Long
Dim messmail As String, secours As String, mess As String
With Sheets("feuil1")
    derlg = .Range("A" & .Rows.Count).End(xlUp).Row
    Set plage = .Range("D2:D" & derlg)
    For Each cel In plage
        If cel.Offset(0, 2) = "Vrai" Then
            mess = MsgBox("la " & .Range("E1").Value & " est au : " & cel.Offset(0, 1).Value & Chr(10) & Chr(10) _
                & "Voulez-vous envoyer la relance?", vbOKCancel)
            If mess = 1 Then
                admail = InputBox("destinataire", , cel.Offset(0, 3).Value)
                    On Error Resume Next
                    Shell """C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE"""
                    Set ol = New Outlook.Application
                    Set olmail = ol.CreateItem(olMailItem)
messmail = "XXX," & Chr(10) & Chr(10) & "XXXXXXX " & cel.Offset(0, -1).Value & Chr(9) & cel.Offset(0, -2).Value & ", XXXXXXX " & cel.Offset(0, 1).Value _
            & "." & Chr(10) & Chr(10) & "XXXXXXXX" & Chr(10) & Chr(10) & "XXXXXXXXX," _
            & Chr(10) & Chr(10) & Chr(10) & "Lucy"
                        With olmail
                            .To = admail
                            .Subject = "Info. Return loan order"
                            .Body = messmail
                            .Send
                        End With
                        On Error GoTo 0
            End If
        Else
        End If
    Next cel
End With
End Sub
Sur mon ordinateur professionnel j'ai changé :
Code :
 If cel.Offset(0, 2) = "Vrai" Then
par
Code :
 If cel.Offset(0, 2) = "True" Then
Car mon tableau Excel se met automatiquement en anglais puisque c'est une formule!
Ainsi que :
Code :
Shell """C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE"""
par
Code :
Shell """C:\Program Files\Microsoft Office\Office11\OUTLOOK.EXE"""
J'espère que vous comprenez ce que je souhaite faire.
je pense que les codes a changer se trouvent ici :
Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Workbook_Open()
Dim ol As New Outlook.Application
Dim olmail As MailItem, plage As Range
Dim admail As String, cel As Range, j As Long, derlg As Long
Dim messmail As String, secours As String, mess As String
With Sheets("feuil1")
    derlg = .Range("A" & .Rows.Count).End(xlUp).Row
    Set plage = .Range("D2:D" & derlg)
    For Each cel In plage
        If cel.Offset(0, 2) = "Vrai" Then
            mess = MsgBox
Faut-il utiser "MAPIFolder ou autre chose.
Comment passer par Microsoft Exchange Server?
Je vous remercie de votre attention et vous souhaite une très bonne soirée.
Cordialement,
3688marie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h20.


 
 
 
 
Partenaires

Hébergement Web