Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

A MichelDenis (suite SendMail)

3 réponses
Avatar
JPMonnier
Bonjour MichelDenis
Je rencontre un petit problème suite à mes tests avec ta proc
Soit :
If Dir(MonRep & Fname) <> "" Then
> If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
> "existe déjà. Désirez-vous l'écraser ?", vbCritical + _
> vbYesNo, "Attention") = vbNo Then
'**************** Si je réponds Non, ça fonctionne très bien !!
'**************** Si je réponds Oui, la proc ne passe sur le End If après
exit sub
'**************** Puis saute au dernier End If avant End Sub de la Proc sans
tenir compte du Else

!!!!!
> MsgBox "Opération annulée. Recommencez !"
> Exit Sub
> End If
>
> Else
> Sheets("Feuil1").Copy
> ActiveWorkbook.SaveAs Filename:=MonRep & Fname
> ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
> fichier"
> ActiveWorkbook.Close False
> 'Si tu veux supprimer le fichier qui vient d'être créé,
> 'sans possibilité de récupération dans la poubelle
> Kill MonRep & Fname
> Wk.Activate
> 'Wk.Save
> MsgBox "votre message à été envoyé à Laurent"
> End If

Ou est l'erreur, je n'arrive pas à corriger
Merci encore de ton aide
--
Cordialement
jpmonnier-nospam@neuf.fr

"MichDenis" <michdenis@hotmail.com> a écrit dans le message de
news:OzVVvzlKKHA.1248@TK2MSFTNGP04.phx.gbl...
> Essaie ceci :
>
> '---------------------------------------------
> Sub Sauve()
> Dim Fname As String, MonRep As String
> Dim Wk As Workbook
> Application.ScreenUpdating = False
> Set Wk = ThisWorkbook
> MonRep = Environ("HOMEPATH") & "\Desktop\"
> Fname = InputBox("Nom que doit avoir le fichier expédié?")
> If Fname = "" Then
> MsgBox "opération annulée"
> Exit Sub
> Else
> If LCase(Right(Fname, 4)) <> ".xls" Then
> Fname = Fname & ".xls"
> End If
> End If
> If Dir(MonRep & Fname) <> "" Then
> If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
> "existe déjà. Désirez-vous l'écraser ?", vbCritical + _
> vbYesNo, "Attention") = vbNo Then
> MsgBox "Opération annulée. Recommencez !"
> Exit Sub
> End If
> Else
> Sheets("Feuil1").Copy
> ActiveWorkbook.SaveAs Filename:=MonRep & Fname
> ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
> fichier"
> ActiveWorkbook.Close False
> 'Si tu veux supprimer le fichier qui vient d'être créé,
> 'sans possibilité de récupération dans la poubelle
> Kill MonRep & Fname
> Wk.Activate
> 'Wk.Save
> MsgBox "votre message à été envoyé à Laurent"
> End If
>
> End Sub
> '---------------------------------------------
>
> "JPMonnier" <jpmonnier-no-spam@neuf.fr> a écrit dans le message de groupe
> de discussion :
> O9C0PTlKKHA.1492@TK2MSFTNGP03.phx.gbl...
> Je ne vois pas d'erreur dans ma syntaxe MsgBox "....."
> puis quand j'ai cliqué sur l'icône excel qui clignote, mon Msgbox
> s'affiche
> correctement
> !!
> --
> Cordialement
> jpmonnier-nospam@neuf.fr
>
> "Mgr T. Banni" <banni@lacurie.va> a écrit dans le message de
> news:e1NVdOlKKHA.4168@TK2MSFTNGP05.phx.gbl...
>> je pense que la syntaxe de la MsgBox n'est pas bonne...
>> dans VBE, si on tape MsgBox, il est indiqué ensuite ce qui doit être
>> écrit
>> ; il suffit de suivre le guide qui ne tendra pas une cébille à l'inverse
>> de mes collaborateurs
>> Mgr T.B.
>>
>> "JPMonnier" <jpmonnier-no-spam@neuf.fr> a écrit dans le message de news:
>> OLLZS5kKKHA.4376@TK2MSFTNGP03.phx.gbl...
>>> Merci LStep et Mgr T. Banni
>>> et merci
>>> Voici ma proc
>>>
>>> Sub Sauve()
>>> Application.ScreenUpdating = False
>>> fname = InputBox("Entrer votre nom") & ".xls"
>>> Sheets("coord").Activate
>>> Sheets("COORD").Select
>>> Sheets("COORD").Copy
>>> Monrep = "C:\Users\" & Application.UserName & "\Desktop\"
>>> ChDrive "c:\"
>>> ChDir Monrep
>>> ActiveWorkbook.SaveAs Filename:=fname
>>> ActiveWorkbook.SendMail Recipients:="adresse email valide"
>>> ActiveWorkbook.Close
>>> Windows.Application.Workbooks("Saisie renseignements
>>> perso.xls").Activate
>>> Sheets("menu").Activate
>>> 'jusqu'ici pas de souci
>>> 'en revanche mon msgbox n'apparait pas
>>> 'je suis obligéde cliquer sur l'icone Microsoft Excel de la barre des
>>> taches pour que la proc se poursuive
>>>
>>> MsgBox "votre message à été envoyé à Laurent"
>>> ActiveWorkbook.Save
>>> Application.Quit
>>> End Sub
>>> --
>>> Cordialement
>>> jpmonnier-nospam@neuf.fr
>>>
>>> "LSteph" <gmlsteph@gmail.com> a écrit dans le message de
>>> news:9a4a3d7c-f3f7-431b-9f63-c7f71a6f385d@n2g2000vba.googlegroups.com...
>>> Bonjour,
>>>
>>> Lorsque j'envoie le Classeur Actif par sendmail, une fois l'zenvoi
>>> effectué, j'ai toujours le même Claseur Actif!
>>>
>>> ....
>>>
>>> Cordialement.
>>>
>>> --
>>> lSteph
>>>
>>> On 31 août, 14:43, "JPMonnier" <jpmonnier-no-s...@neuf.fr> wrote:
>>>> Bonjour,
>>>> J'envoie un fichier joint par Send Mail, c'est ok
>>>> Par contre je ne sais pas comment reprendre la main sur mon Workbook
>>>> Excel
>>>> après envoie du message
>>>> Un idée ??
>>>> Merci
>>>> --
>>>> Cordialement
>>>> jpmonnier-nos...@neuf.fr
>>>
>>
>

3 réponses

Avatar
FS
Re,

Voir ta première demande.

Notes (juste en passant) : pas sûr qu'il soit utile de multiplier les
messages sur le même sujet et avec le même contenu. Et il n'est pas
recommandé non plus de personnaliser les demandes. Ça peut priver le
demandeur des réponses d'autres intervenants que celui ou celle auquel
il s'adresse et c'est un peu en contradiction avec l'esprit (et
l'intérêt) des forums où tout le monde (demandeurs comme répondeurs)
peut tirer profit aussi bien des questions posées que des réponses
proposées.
Mais bon, c'est juste en passant, hein ? :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

JPMonnier a écrit :
Bonjour MichelDenis
Je rencontre un petit problème suite à mes tests avec ta proc
Soit :
If Dir(MonRep & Fname) <> "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then


'**************** Si je réponds Non, ça fonctionne très bien !!
'**************** Si je réponds Oui, la proc ne passe sur le End If après
exit sub
'**************** Puis saute au dernier End If avant End Sub de la Proc
sans
tenir compte du Else

!!!!!
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If

Else
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End If



Ou est l'erreur, je n'arrive pas à corriger
Merci encore de ton aide


Avatar
MichDenis
Bonjour JPMonnier,

(le commentaire de Frédéric est approprié...et
j'ajouterais, qu'il est possible qu'un participant
s'absente du forum ! L'attente dans ce cas risque
d'être longue)

Le dernier End If n'était pas à la bonne place. ;-)
'--------------------------------------
Sub Sauve()
Dim Fname As String, MonRep As String
Dim Wk As Workbook
Application.ScreenUpdating = False
Set Wk = ThisWorkbook
MonRep = Environ("HOMEPATH") & "Desktop"
Fname = InputBox("Nom que doit avoir le fichier expédié?")
If Fname = "" Then
MsgBox "opération annulée"
Exit Sub
Else
If LCase(Right(Fname, 4)) < ".xls" Then
Fname = Fname & ".xls"
End If
End If
If Dir(MonRep & Fname) < "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If
End if
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End Sub
'--------------------------------------




"JPMonnier" a écrit dans le message de groupe de discussion :

Bonjour MichelDenis
Je rencontre un petit problème suite à mes tests avec ta proc
Soit :
If Dir(MonRep & Fname) <> "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then


'**************** Si je réponds Non, ça fonctionne très bien !!
'**************** Si je réponds Oui, la proc ne passe sur le End If après
exit sub
'**************** Puis saute au dernier End If avant End Sub de la Proc sans
tenir compte du Else

!!!!!
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If

Else
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End If



Ou est l'erreur, je n'arrive pas à corriger
Merci encore de ton aide
--
Cordialement


"MichDenis" a écrit dans le message de
news:
Essaie ceci :

'---------------------------------------------
Sub Sauve()
Dim Fname As String, MonRep As String
Dim Wk As Workbook
Application.ScreenUpdating = False
Set Wk = ThisWorkbook
MonRep = Environ("HOMEPATH") & "Desktop"
Fname = InputBox("Nom que doit avoir le fichier expédié?")
If Fname = "" Then
MsgBox "opération annulée"
Exit Sub
Else
If LCase(Right(Fname, 4)) <> ".xls" Then
Fname = Fname & ".xls"
End If
End If
If Dir(MonRep & Fname) <> "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If
Else
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End If

End Sub
'---------------------------------------------

"JPMonnier" a écrit dans le message de groupe
de discussion :

Je ne vois pas d'erreur dans ma syntaxe MsgBox "....."
puis quand j'ai cliqué sur l'icône excel qui clignote, mon Msgbox
s'affiche
correctement
!!
--
Cordialement


"Mgr T. Banni" a écrit dans le message de
news:
je pense que la syntaxe de la MsgBox n'est pas bonne...
dans VBE, si on tape MsgBox, il est indiqué ensuite ce qui doit être
écrit
; il suffit de suivre le guide qui ne tendra pas une cébille à l'inverse
de mes collaborateurs
Mgr T.B.

"JPMonnier" a écrit dans le message de news:

Merci LStep et Mgr T. Banni
et merci
Voici ma proc

Sub Sauve()
Application.ScreenUpdating = False
fname = InputBox("Entrer votre nom") & ".xls"
Sheets("coord").Activate
Sheets("COORD").Select
Sheets("COORD").Copy
Monrep = "C:Users" & Application.UserName & "Desktop"
ChDrive "c:"
ChDir Monrep
ActiveWorkbook.SaveAs Filename:=fname
ActiveWorkbook.SendMail Recipients:="adresse email valide"
ActiveWorkbook.Close
Windows.Application.Workbooks("Saisie renseignements
perso.xls").Activate
Sheets("menu").Activate
'jusqu'ici pas de souci
'en revanche mon msgbox n'apparait pas
'je suis obligéde cliquer sur l'icone Microsoft Excel de la barre des
taches pour que la proc se poursuive

MsgBox "votre message à été envoyé à Laurent"
ActiveWorkbook.Save
Application.Quit
End Sub
--
Cordialement


"LSteph" a écrit dans le message de
news:
Bonjour,

Lorsque j'envoie le Classeur Actif par sendmail, une fois l'zenvoi
effectué, j'ai toujours le même Claseur Actif!

....

Cordialement.

--
lSteph

On 31 août, 14:43, "JPMonnier" wrote:
Bonjour,
J'envoie un fichier joint par Send Mail, c'est ok
Par contre je ne sais pas comment reprendre la main sur mon Workbook
Excel
après envoie du message
Un idée ??
Merci
--
Cordialement












Avatar
JPMonnier
Merci aux deux
Ce n'est pas mon habitude de changer de fil
Mea culpa
--
Cordialement

"MichDenis" a écrit dans le message de
news:uxQ%
Bonjour JPMonnier,

(le commentaire de Frédéric est approprié...et
j'ajouterais, qu'il est possible qu'un participant
s'absente du forum ! L'attente dans ce cas risque
d'être longue)

Le dernier End If n'était pas à la bonne place. ;-)
'--------------------------------------
Sub Sauve()
Dim Fname As String, MonRep As String
Dim Wk As Workbook
Application.ScreenUpdating = False
Set Wk = ThisWorkbook
MonRep = Environ("HOMEPATH") & "Desktop"
Fname = InputBox("Nom que doit avoir le fichier expédié?")
If Fname = "" Then
MsgBox "opération annulée"
Exit Sub
Else
If LCase(Right(Fname, 4)) < ".xls" Then
Fname = Fname & ".xls"
End If
End If
If Dir(MonRep & Fname) < "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If
End if
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End Sub
'--------------------------------------




"JPMonnier" a écrit dans le message de groupe
de discussion :

Bonjour MichelDenis
Je rencontre un petit problème suite à mes tests avec ta proc
Soit :
If Dir(MonRep & Fname) <> "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then


'**************** Si je réponds Non, ça fonctionne très bien !!
'**************** Si je réponds Oui, la proc ne passe sur le End If après
exit sub
'**************** Puis saute au dernier End If avant End Sub de la Proc
sans
tenir compte du Else

!!!!!
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If

Else
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End If



Ou est l'erreur, je n'arrive pas à corriger
Merci encore de ton aide
--
Cordialement


"MichDenis" a écrit dans le message de
news:
Essaie ceci :

'---------------------------------------------
Sub Sauve()
Dim Fname As String, MonRep As String
Dim Wk As Workbook
Application.ScreenUpdating = False
Set Wk = ThisWorkbook
MonRep = Environ("HOMEPATH") & "Desktop"
Fname = InputBox("Nom que doit avoir le fichier expédié?")
If Fname = "" Then
MsgBox "opération annulée"
Exit Sub
Else
If LCase(Right(Fname, 4)) <> ".xls" Then
Fname = Fname & ".xls"
End If
End If
If Dir(MonRep & Fname) <> "" Then
If MsgBox("Un fichier sous ce nom dans ce répertoire" & vbCrLf & _
"existe déjà. Désirez-vous l'écraser ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée. Recommencez !"
Exit Sub
End If
Else
Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=MonRep & Fname
ActiveWorkbook.SendMail "Adresse destinataire", "Voilà le fameux
fichier"
ActiveWorkbook.Close False
'Si tu veux supprimer le fichier qui vient d'être créé,
'sans possibilité de récupération dans la poubelle
Kill MonRep & Fname
Wk.Activate
'Wk.Save
MsgBox "votre message à été envoyé à Laurent"
End If

End Sub
'---------------------------------------------

"JPMonnier" a écrit dans le message de groupe
de discussion :

Je ne vois pas d'erreur dans ma syntaxe MsgBox "....."
puis quand j'ai cliqué sur l'icône excel qui clignote, mon Msgbox
s'affiche
correctement
!!
--
Cordialement


"Mgr T. Banni" a écrit dans le message de
news:
je pense que la syntaxe de la MsgBox n'est pas bonne...
dans VBE, si on tape MsgBox, il est indiqué ensuite ce qui doit être
écrit
; il suffit de suivre le guide qui ne tendra pas une cébille à l'inverse
de mes collaborateurs
Mgr T.B.

"JPMonnier" a écrit dans le message de news:

Merci LStep et Mgr T. Banni
et merci
Voici ma proc

Sub Sauve()
Application.ScreenUpdating = False
fname = InputBox("Entrer votre nom") & ".xls"
Sheets("coord").Activate
Sheets("COORD").Select
Sheets("COORD").Copy
Monrep = "C:Users" & Application.UserName & "Desktop"
ChDrive "c:"
ChDir Monrep
ActiveWorkbook.SaveAs Filename:=fname
ActiveWorkbook.SendMail Recipients:="adresse email valide"
ActiveWorkbook.Close
Windows.Application.Workbooks("Saisie renseignements
perso.xls").Activate
Sheets("menu").Activate
'jusqu'ici pas de souci
'en revanche mon msgbox n'apparait pas
'je suis obligéde cliquer sur l'icone Microsoft Excel de la barre des
taches pour que la proc se poursuive

MsgBox "votre message à été envoyé à Laurent"
ActiveWorkbook.Save
Application.Quit
End Sub
--
Cordialement


"LSteph" a écrit dans le message de
news:
Bonjour,

Lorsque j'envoie le Classeur Actif par sendmail, une fois l'zenvoi
effectué, j'ai toujours le même Claseur Actif!

....

Cordialement.

--
lSteph

On 31 août, 14:43, "JPMonnier" wrote:
Bonjour,
J'envoie un fichier joint par Send Mail, c'est ok
Par contre je ne sais pas comment reprendre la main sur mon Workbook
Excel
après envoie du message
Un idée ??
Merci
--
Cordialement