Problème version
Bonjour à tous,
Je voulais mettre en place un fichier VBA pour remplacer les formulaires papier de demande de congé de mon entreprise.
Cependant, au moment de mettre en place mon fichier ... j'ai appris que nous avons 2 versions différentes d'Excel et d'Outlook (outlook car j'ai une application qui via un CommandButton envoi un mail).
Mon fichier fonctionne sur Excel 2016 et sur Outlook 2016. J'ai fait un test sur le PC de 2 collègues. Il fonctionne parfaitement sur les versions Excel 2016 et sur Outlook 2016.
Mais
> Sur la version Excel 2013 : le 2ème CommandButton du premier UserForm d'accueil ne fonctionne pas et fait planter le fichier.
> Sur la version Outlook 2010 : le 1er CommandButton fonctionne, mais au moment de cliquer sur le CommandButton pour envoyer le mail - Message d'erreur - retour dans le code sur mon application Outlook "Dim ObjOutlook As New Outlook.Application".
Est-il possible d'ajuster mon code pour que ce fichier puisse fonctionner sur des versions différentes ?
Pourriez-vous me venir en aide s’il vous plait 😊
Je vous remercie
Bonne journée
Mjulie
Bonjour,
Il serait important d'anonymiser ton fichier .
ric
Bonjour,
En VBE, menu Outils > Références > décoche : Microsoft Outlook 16.0 Object Library et enregistre ton fichier.
Puis, le code pour se passer de la référence, ce qui rendra possible d'envoyer des courriels sous les autres versions d'Office.
Adapter le code à chaque bouton ...
Dim oItem As Object
Dim ObjOutlook As Object
Dim oBjMail
Dim Nom_Fichier As String
Const olMailItem As Long = 0
Set ObjOutlook = CreateObject("Outlook.Application")
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
With oBjMail
.To = "adressemail@ledomaine.com" ' le destinataire < Remettre la bonne adresse
.CC = "adresseAutre@ledomaine.com" ' < Remettre la bonne adresse
.Subject = "Demande de congé à valider" ' l'objet du mail
.Body = "Bonjour Gregory, une demande de congé est à valider. Merci de bien vouloir notifier votre validation sur le fichier - Formulaire Demande de congé - localisé sur le réseau : S:\Ressources communes. Merci, Bonne journée."
.Display ' Ici on peut supprimer pour l'envoyer sans vérification
.Send
End With
Set oBjMail = Nothing
Set ObjOutlook = Nothingric