Comment adapter une MACRO VB Outlook express vers Outlook 2007?

boss74330 Messages postés 4 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 2 février 2012 - 2 févr. 2012 à 09:24
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 2 févr. 2012 à 11:10
Bonjour,
Un de nos anciens collaborateur avait développé une MACRO sur EXEL pour l'envoie automatique de bon de commande.
Explication:
L'utilisateur renseigne sont bon de commande, avec un n° de bon
Ce N° de la cellule "C9" est la référence d'enregistrement sur notre serveur. (commande Save as)

Notre collaborateur avais compilé un ensemble de fonction pour l'enregistrement du fichier : Commande N°(ref cellule "C9").XLS

Cette fonction fonctionne toujour tres bien.

par contre nous utilisions OUtlook EXPRESSE pour l'envoie des documents.

Le passage a Windows 7 ne nous aide pas, sachant que nous utilisons tous Outlook 2007, en messagerie par défaut.
Pouvez vous m'aider a modifier cette commande VB?

ci-joint

Sub Envoyer()

Dim Repertoire As String
Dim Fichier As String
Dim Extension As String
Dim Dest, Sujt, Msg As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Repertoire = "\\Serveur_dt\Commandes Fournisseurs\Commandes XXX\ "
Fichier = "Commande no " & Cells(9, 3).Value
Extension = ".xls"

ActiveWorkbook.SaveAs Filename:= _
Repertoire & Fichier & Extension, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

Range("C14").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Dest = "toto@titi.fr; lulu@free.fr; tata@titi.fr"
Sujt = "Ma Commande n° " & Cells(9, 3).Value
Msg = "Bonjour, Veuillez trouver ci-joint la commande no° " & Cells(9, 3).Value


Shell "mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%s" & "jf" & Repertoire & Fichier & Extension & "~" & "%v"

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub



Sub Bouton140_QuandClic()
Envoyer
End Sub

Je vous remercie pour votre aide!

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 févr. 2012 à 09:59
Bonjour,

Je pense personnellement que ton problème se situe en réalité au niveau de tes "sendkeys"
Par ailleurs : avec Quel OS ? et en combien de bits ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 févr. 2012 à 10:30
Senkeys ?

ca ne devrait pas exister, ça...

ce n'est pas un pilotage viable...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
boss74330 Messages postés 4 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 2 février 2012
2 févr. 2012 à 10:34
le nouvel utilisateur est sous WINDOWS 7 pro 64bits

il utilise OUTLOOK 2007
0
boss74330 Messages postés 4 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 2 février 2012
2 févr. 2012 à 10:36
oups mauvais copier coller

il manque la ligne suivante:

Shell "C:\Program Files\Outlook Express\msimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & Repertoire & Fichier & Extension & "~" & "%s"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 févr. 2012 à 10:37
Alors déjà :
Sous Seven : Sendkeys ne peut être à ma connaissance utilisé sans désactiver l'UAC

Et relis l'intervention de Renfield

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 févr. 2012 à 10:43
J'étais plutôt occupé à des tâches artistiques assez "lourdes", en 2010, et n'ai pas vu
Cette discussion.
J'y aurais alors répondu

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
boss74330 Messages postés 4 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 2 février 2012
2 févr. 2012 à 11:01
Est-il plus judicieux d'adapté une commande existante tel que celle-ci:

Sub Envoi_Mail()
Dim App As Outlook.Application
Dim Message, Pieces As Variant
Dim Colonne As Integer
Dim Fichier As String
'Création du message
Application.StatusBar = "Création d'un message Outlook ..."
Set App = CreateObject("outlook.application")
Set Message = App.CreateItem(olMailItem)
'Ajout des pièces jointes
Application.StatusBar = "Ajout des pièces jointes au message Outlook ..."
Set Pieces = Message.Attachments
For Colonne = ColDebut To (ColDebut + NbCol - 1)
If (Cells(LgDebut - 2, Colonne).Value) <> 0 Then
Fichier = Cells(LgDebut - 1, Colonne).Value & ".csv"
Pieces.Add Repertoire & Fichier, _
olByValue, 1, Fichier
End If
Next
Application.StatusBar = "Affichage du message Outlook"
Application.StatusBar = "Prêt"
Message.Display
End Sub


Que j'ai trouver sur un tuto. Mais je suis plus que débutant et ne sais pas comment adapté sans perdre la fonction de Save as
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 févr. 2012 à 11:10
Le pilotage implique des connaissances tant du VBA/Excel que du VBA/Outlook.
Si tu t'intéresses à ce type de pilotage, commence par lire, par exemple :
Tapez le texte de l'url ici.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous