Microsoft 365 Erreur 400 VBA

Huggy22

XLDnaute Nouveau
Bonjour à tous.

Je suis novice en VBA mais je tiens à tenter l'expérience :)

Je cherche à envoyer une feuille excel via mail à plusieurs personnes (destinataire, cc et cci). J'ai trouvé un code VBA mais celui-ci me renvoie une erreur 400 (voir dans le fichier joint).

J'avoue y perdre mon latin.

Merci d'avance !
 

Pièces jointes

  • Huggy 22.xlsm
    28.2 KB · Affichages: 5
Solution
re
et oui c'est ca quand on utilise mailenveloppe on doit rester en early binding et donc avoir les bonnes version de référence
chez moi c'est 15 et non 16 par exemple

early binding --> liaison précoces 'référence activée
late binding--> liaison tardive creation de l'object avec "createobject"'utilise la référence dispo du system

trouve toi un code avec la creation d'un object outlook en latebinding
je donne un indice
VB:
set OutlK=createobject("outlook.application")
Set OLmail = OutlK.CreateItem(olMailItem)

with OLmail
.From = moimeme@hotmail.com"
 .To = lautre@trucmuche.fr
 .Body="salut coucou et compagnie"
 .Subject = ""juste pour un test"
'si il y a des fichier a envoyer
.Attachments.Add...

Phil69970

XLDnaute Barbatruc
Bonjour @Huggy22

Déjà il y a une erreur ici

1675339971937.png


NbLignBe n'existe pas

Sur quelle ligne as tu une erreur ?

@Phil69970
 

Huggy22

XLDnaute Nouveau
Re


C'est bien beau de trouvé un code VBA encore faut il qu'il soit fonctionnel
Cela fait donc au moins 2 problèmes sur ton code !!!!! :oops:


Regarde la pièce jointe 1162375

Tu as des exemples fonctionnels plein le forum

==> https://excel-downloads.com/threads...stalle-sur-ma-machine.20073682/#post-20563188

@Phil69970
Bonjour et merci pour ces renseignements mais lorsque je regarde dans les références disponibles, elles ne sont pas manquantes (voir ci-dessous).
Je crois que la matière est un peu trop complexe pour moi actuellement. Je vais envisager une formation sur le sujet :)
Je vais donc m'en tenir au bon vieux copier-coller pour résoudre temporairement mon problème.
Un grand merci pour ta patience.

Bien cordialement,
 

Pièces jointes

  • Capture d’écran 2023-02-02 142159.jpg
    Capture d’écran 2023-02-02 142159.jpg
    49 KB · Affichages: 14

patricktoulon

XLDnaute Barbatruc
re
et oui c'est ca quand on utilise mailenveloppe on doit rester en early binding et donc avoir les bonnes version de référence
chez moi c'est 15 et non 16 par exemple

early binding --> liaison précoces 'référence activée
late binding--> liaison tardive creation de l'object avec "createobject"'utilise la référence dispo du system

trouve toi un code avec la creation d'un object outlook en latebinding
je donne un indice
VB:
set OutlK=createobject("outlook.application")
Set OLmail = OutlK.CreateItem(olMailItem)

with OLmail
.From = moimeme@hotmail.com"
 .To = lautre@trucmuche.fr
 .Body="salut coucou et compagnie"
 .Subject = ""juste pour un test"
'si il y a des fichier a envoyer
.Attachments.Add "c:\undossier\monficher.extention"

'.send'envoie
'.display'affiche outlook
'.save'enregistre dans les brouillon


end with


end sub
etc etc....
createobject créra l'object avec ta reference automatiquement


voir moult exemples ici dans le forum et les ressource

pour que mail enveloppe ou l'object outlook fonctionne il faut que outlook aie au moins un compte configuré ,sinon tu oublie tu envoie avec un timbre 😁
 

Huggy22

XLDnaute Nouveau
re
et oui c'est ca quand on utilise mailenveloppe on doit rester en early binding et donc avoir les bonnes version de référence
chez moi c'est 15 et non 16 par exemple

early binding --> liaison précoces 'référence activée
late binding--> liaison tardive creation de l'object avec "createobject"'utilise la référence dispo du system

trouve toi un code avec la creation d'un object outlook en latebinding
je donne un indice
VB:
set OutlK=createobject("outlook.application")
Set OLmail = OutlK.CreateItem(olMailItem)

with OLmail
.From = moimeme@hotmail.com"
 .To = lautre@trucmuche.fr
 .Body="salut coucou et compagnie"
 .Subject = ""juste pour un test"
'si il y a des fichier a envoyer
.Attachments.Add "c:\undossier\monficher.extention"

'.send'envoie
'.display'affiche outlook
'.save'enregistre dans les brouillon


end with


end sub
etc etc....
createobject créra l'object avec ta reference automatiquement


voir moult exemples ici dans le forum et les ressource

pour que mail enveloppe ou l'object outlook fonctionne il faut que outlook aie au moins un compte configuré ,sinon tu oublie tu envoie avec un timbre 😁
Bonjour Patrick et merci pour ta réaction.

Ouille, ouille, ouille, je me demande si il ne serait pas plus simple pour moi de me dénicher un vieux fax :)
Bon, je vais me pencher sur ta solution.

Avec tous mes remerciements,

Huggy.
 

Discussions similaires

Réponses
2
Affichages
240

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison