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

Envoi mail - Excel 2007

3 réponses
Avatar
JulieH
Bonjour à toutes et tous,

Eh oui !!! cela devait arriver, je viens de passer sur Excel 2007, je
suis l'une des seules de l'entreprise et les "ennuis" commencent.
Heureusement, nombre d'entre vous ont déjà mis en ligne tout un tas
d'outils très utiles : Où trouve-on les commandes 2003 dans 2007... Donc
je me débrouille.

Voici cependant un problème particulier :
- Tout d'abord, d'une manière générale, lorsque j'enregistre mes
fichiers, ils le sont sous 2003. J'ai mis ce paramètre dans "Onglet
général, options excel, Enregistrement". De cette manière, lorsque
j'envoie un fichier par mail, mon correspondant reçoit un fichier xls 2003.
- En revanche, j'utilise une Macro pour envoyer directement un mail à
partir de la feuille active d'un fichier (feuille sans formule, sans
zones de texte...). Pour cela, j'utilise la macro suivante, récupérée
sur le forum :

Sub SendEmail()
Application.ScreenUpdating = False
MonDir = CurDir

'Prépare le nom du fichier à envoyer
Nouveau_Nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) -
4) & " - Copie" & ".xls"
FichierTemporaire = ThisWorkbook.Path & "\" & Nouveau_Nom

'Copie la feuille en cours dans un fichier pour l'envoyer
ActiveWorkbook.ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial (xlPasteValues)

'Renomme le fichier avec le nom préparé.
ActiveWorkbook.SaveAs Filename:=FichierTemporaire

'Efface les boutons s'il y en a.
...

'Boite de dialogue "envoi mail"
Sujet = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 12)
Application.Dialogs(xlDialogSendMail).Show arg1:="", arg2:=Sujet,
arg3:=False

'Suppression du fichier temporaire.
...

End Sub

Elle fonctionne très bien sous 2003. Depuis le passage à 2007, mes
correspondants reçoivent un fichier illisible. Si j'enlève le " &
".xls", ils reçoivent un fichier .xlsx" qui pose problème à certains
même s'il suffit d'avoir l'outil de "transformation".

Quelqu'un peut-il me dire ce qu'il faut modifier dans l'enregistrement ?

Merci par avance pour votre aide.

Julie

3 réponses

Avatar
FFO
Salut Julie

je pense qu'il faudrait définir le format du fichier sur cette ligne :

ActiveWorkbook.SaveAs Filename:=FichierTemporaire

Ainsi par exemple Excel 5 :

ActiveWorkbook.SaveAs Filename:=FichierTemporaire , FileFormat:=xlExcel5

A toi de déterminer le bon format en utilisant l'aide en ligne (Touche F1
aprés avoir sélectionné FileFormat)

Fais des essais et dis moi !!!!!
Avatar
Daniel.C
Bonjour.
Remplace :
ActiveWorkbook.SaveAs Filename:=FichierTemporaire
par :
ActiveWorkbook.SaveAs Filename:=FichierTemporaire, FileFormat:=xlExcel8
Cordialement.
Daniel

Bonjour à toutes et tous,

Eh oui !!! cela devait arriver, je viens de passer sur Excel 2007, je suis
l'une des seules de l'entreprise et les "ennuis" commencent. Heureusement,
nombre d'entre vous ont déjà mis en ligne tout un tas d'outils très utiles :
Où trouve-on les commandes 2003 dans 2007... Donc je me débrouille.

Voici cependant un problème particulier :
- Tout d'abord, d'une manière générale, lorsque j'enregistre mes fichiers,
ils le sont sous 2003. J'ai mis ce paramètre dans "Onglet général, options
excel, Enregistrement". De cette manière, lorsque j'envoie un fichier par
mail, mon correspondant reçoit un fichier xls 2003.
- En revanche, j'utilise une Macro pour envoyer directement un mail à partir
de la feuille active d'un fichier (feuille sans formule, sans zones de
texte...). Pour cela, j'utilise la macro suivante, récupérée sur le forum :

Sub SendEmail()
Application.ScreenUpdating = False
MonDir = CurDir

'Prépare le nom du fichier à envoyer
Nouveau_Nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) &
" - Copie" & ".xls"
FichierTemporaire = ThisWorkbook.Path & "" & Nouveau_Nom

'Copie la feuille en cours dans un fichier pour l'envoyer
ActiveWorkbook.ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial (xlPasteValues)

'Renomme le fichier avec le nom préparé.
ActiveWorkbook.SaveAs Filename:=FichierTemporaire

'Efface les boutons s'il y en a.
...

'Boite de dialogue "envoi mail"
Sujet = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 12)
Application.Dialogs(xlDialogSendMail).Show arg1:="", arg2:=Sujet,
arg3:úlse

'Suppression du fichier temporaire.
...

End Sub

Elle fonctionne très bien sous 2003. Depuis le passage à 2007, mes
correspondants reçoivent un fichier illisible. Si j'enlève le " & ".xls", ils
reçoivent un fichier .xlsx" qui pose problème à certains même s'il suffit
d'avoir l'outil de "transformation".

Quelqu'un peut-il me dire ce qu'il faut modifier dans l'enregistrement ?

Merci par avance pour votre aide.

Julie


Avatar
JulieH
Bonjour,

Merci à tous les deux, cela fonctionne parfaitement.

Bonne journée

Julie


Daniel.C a écrit :
Bonjour.
Remplace :
ActiveWorkbook.SaveAs Filename:=FichierTemporaire
par :
ActiveWorkbook.SaveAs Filename:=FichierTemporaire, FileFormat:=xlExcel8
Cordialement.
Daniel

Bonjour à toutes et tous,

Eh oui !!! cela devait arriver, je viens de passer sur Excel 2007,
je suis l'une des seules de l'entreprise et les "ennuis" commencent.
Heureusement, nombre d'entre vous ont déjà mis en ligne tout un tas
d'outils très utiles : Où trouve-on les commandes 2003 dans 2007...
Donc je me débrouille.

Voici cependant un problème particulier :
- Tout d'abord, d'une manière générale, lorsque j'enregistre mes
fichiers, ils le sont sous 2003. J'ai mis ce paramètre dans "Onglet
général, options excel, Enregistrement". De cette manière, lorsque
j'envoie un fichier par mail, mon correspondant reçoit un fichier xls
2003.
- En revanche, j'utilise une Macro pour envoyer directement un mail à
partir de la feuille active d'un fichier (feuille sans formule, sans
zones de texte...). Pour cela, j'utilise la macro suivante, récupérée
sur le forum :

Sub SendEmail()
Application.ScreenUpdating = False
MonDir = CurDir

'Prépare le nom du fichier à envoyer
Nouveau_Nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name)
- 4) & " - Copie" & ".xls"
FichierTemporaire = ThisWorkbook.Path & "" & Nouveau_Nom

'Copie la feuille en cours dans un fichier pour l'envoyer
ActiveWorkbook.ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial (xlPasteValues)

'Renomme le fichier avec le nom préparé.
ActiveWorkbook.SaveAs Filename:=FichierTemporaire

'Efface les boutons s'il y en a.
...

'Boite de dialogue "envoi mail"
Sujet = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 12)
Application.Dialogs(xlDialogSendMail).Show arg1:="", arg2:=Sujet,
arg3:úlse

'Suppression du fichier temporaire.
...

End Sub

Elle fonctionne très bien sous 2003. Depuis le passage à 2007, mes
correspondants reçoivent un fichier illisible. Si j'enlève le " &
".xls", ils reçoivent un fichier .xlsx" qui pose problème à certains
même s'il suffit d'avoir l'outil de "transformation".

Quelqu'un peut-il me dire ce qu'il faut modifier dans
l'enregistrement ?

Merci par avance pour votre aide.

Julie