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

Macros et VBA Excel Discussion :

Changer de version pour Macro [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Cadre Marketing Europe
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut Changer de version pour Macro
    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 : 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
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
     If cel.Offset(0, 2) = "Vrai" Then
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If cel.Offset(0, 2) = "True" Then
    Car mon tableau Excel se met automatiquement en anglais puisque c'est une formule!
    Ainsi que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell """C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE"""
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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,

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Sans avoir analysé tout le code, tu peux déjà remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If cel.Offset(0, 2) = "Vrai" Then
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If cel.Offset(0, 2) Then
    En effet, une cellule contenant une valeur booléenne renvoie True ou False, ce que est interprété directement par le If et ce, quelle que soit la langue.

    De plus, je ne crois pas que ton Shell d'Outlook soit utile.

    Pour la suite, il serait bon de nous dire où tu as des erreurs et lesquelles.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre averti
    Femme Profil pro
    Cadre Marketing Europe
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut Changer de version pour Macro
    Bonjour Alain, Bonjour le Forum,
    Merci pour ta réponse concernant cette programmation.
    Je me suis certainement mal exprimée lors de ma demande précédente aussi je vais essayer d’être plus explicite et peut être de repartir à zéro.
    Je reviens vers vous au plus vite car j'ai un problème sur mon Tableau Excel et la fonction MOIS.DECALER en anglais que je cherche à résoudre.
    Cordialement,

  4. #4
    Membre averti
    Femme Profil pro
    Cadre Marketing Europe
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut Changer de version pour Macro
    Bonsoir Le Forum, Bonsoir Alain,
    J’ai modifié mon tableau Excel sur mon ordinateur Professionnel qui est sous Windows XP et Microsoft Office Pro 2003.
    J’ai modifié ce qu’Alain m’avait dit lors de son précèdent message, c'est à dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If cel.Offset(0, 2) Then
    Je pensais que mon Shell d'Outlook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell """C:\Program Files\Microsoft Office\Office11\OUTLOOK.EXE""" / M
    me permettait d'appeler Microsoft Outlook pour envoyer les mails. Je l'ai retiré et cela ne change rien.
    Par contre j'ai modifié les deux premières lignes de la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim ol As New Outlook.Application
    Dim olmail As MailItem, plage As Range
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set ol = New Outlook.Application
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim MonOutlook As Object
    Dim MonMessage As Object
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set ol = MonOutlook = CreateObject(outlook.Application)
    Donc lorsque je lance le dossier tout semble fonctionner :
    Sur mon tableau Excel une petite fenêtre m'informe que la date d’échéance arrive et me demande si je veux envoyer une relance. Je clique sur OK et une autre fenêtre m'indique la boite mail du destinataire que je dois informer. Je clique sur OK et là plus rien.
    C'est à dire que le mail ne part pas (même si Outlook est ouvert avec Cisco AnnyConnect VPN Client) et donc mon destinataire ne reçoit rien.
    Effectivement sur mon ordinateur Pro je passe par un VPN pour envoyer mes mail.
    Je travaille à la maison et ce même ordinateur est relié à mon Fournisseur d'accès qui est Numéricâble.
    Cette première macro fonctionnait parfaitement bien avec mon ordinateur personnel (Windows7, Microsoft Outlook 2007, excel 2010) seulement je ne peux pas envoyer ces relances avec mon adresse mail perso.
    Je pense que je n'appelle pas Microsoft Outlook correctement puisque je passe par VPN!
    Merci beaucoup pour votre aide, je joins mon fichier à ce message.
    Je vous souhaite une très bonne soirée.,
    Cordialement,
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    essai d'enlever ton On Error Resume Nextpour avoir peu être un message d'erreur plus parlant... (soit dit en passant utiliser cette instruction sans tester ensuite l'erreur grâce à l'objet Err .. n'est pas c'est un peu comme fermer les yeux et foncer tout droit...)

  6. #6
    Membre averti
    Femme Profil pro
    Cadre Marketing Europe
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut Changer de version pour Macro
    Bonsoir,
    Merci pour votre réponse, j'ai supprimé:
    Excel me demande si je veux envoyer ma première relance, je clique sur OK et j’obtiens Run-time error '13' Type mismatch. si je comprends bien cette erreur correspond à une incompatibilité de type, mais je vois vraiment pas où ni quel type!
    Je vais chercher plus loin et tenter de l’éloigner.
    Si vous avez une idée, je vous serais reconnaissante de bien vouloir m’éclairer. Mais il se fait tard et je vais éteindre mes écrans.
    Merci et très bonne soirée,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro pour changer la version d'un document
    Par baber43 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/11/2010, 22h32
  2. Réponses: 2
    Dernier message: 09/05/2010, 00h15
  3. version d'opengl pour macros
    Par gareshus dans le forum OpenGL
    Réponses: 3
    Dernier message: 16/09/2008, 18h31
  4. Version pour macro
    Par yafa31 dans le forum VBA Word
    Réponses: 4
    Dernier message: 28/05/2008, 10h04
  5. Changer de région pour trouver un emploi
    Par Elbarto dans le forum Emploi
    Réponses: 21
    Dernier message: 25/01/2006, 16h41

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