Probleme avec une variable

Fermé
joseB45 Messages postés 22 Date d'inscription jeudi 26 décembre 2013 Statut Membre Dernière intervention 16 septembre 2015 - 22 janv. 2015 à 08:26
joseB45 Messages postés 22 Date d'inscription jeudi 26 décembre 2013 Statut Membre Dernière intervention 16 septembre 2015 - 23 janv. 2015 à 07:07
Bonjour a toutes et tous

je ne sais pas si mon titre de ce topic est explicite alors je vais essayer de me faire comprendre.
bon voila déjà mon code
Sub DistributionParMail()
'
' Macro4envoi Macro
'
If MsgBox("A T T E N T I O N !!!!! Seul Mr X est en droit d'envoyer ce fichier !", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
ChDir "S:\Retards d'Exploitation"
Workbooks.Open Filename:= _
"S:\Retards d'Exploitation\Retards d'exploitation.xls"
'
Windows("Nouvelle Feuille Retards d'Exploitation").Activate
Sheets("saisie").Select
ActiveSheet.Buttons.Add(1236.75, 321.75, 45, 42.75).Select
ActiveSheet.Buttons.Add(1234.5, 231, 45, 50.25).Select
ActiveSheet.Buttons.Add(1233, 133.5, 47.25, 57.75).Select
ActiveSheet.Buttons.Add(450.75, 1126.5, 48, 227.25).Select
ActiveSheet.Buttons.Add(1261.5, 420.75, 46.5, 86.25).Select
ActiveSheet.Buttons.Add(1236.75, 321.75, 45, 42.75).Select
ActiveSheet.Buttons.Add(1234.5, 231, 45, 50.25).Select
ActiveSheet.Buttons.Add(1233, 133.5, 47.25, 57.75).Select
ActiveSheet.Buttons.Add(450.75, 1126.5, 48, 227.25).Select
ActiveSheet.Buttons.Add(1261.5, 420.75, 46.5, 86.25).Select
ActiveSheet.Buttons.Add(1236.75, 321.75, 45, 42.75).Select
ActiveSheet.Buttons.Add(1234.5, 231, 45, 50.25).Select
ActiveSheet.Buttons.Add(1233, 133.5, 47.25, 57.75).Select
ActiveSheet.Buttons.Add(450.75, 1126.5, 48, 227.25).Select
ActiveSheet.Buttons.Add(1261.5, 420.75, 46.5, 86.25).Select
ActiveSheet.Buttons.Add(1236.75, 321.75, 45, 42.75).Select
ActiveSheet.Buttons.Add(1234.5, 231, 45, 50.25).Select
ActiveSheet.Buttons.Add(1233, 133.5, 47.25, 57.75).Select
ActiveSheet.Buttons.Add(450.75, 1126.5, 48, 227.25).Select
ActiveSheet.Buttons.Add(1261.5, 420.75, 46.5, 86.25).Select
ActiveSheet.Buttons.Add(1236.75, 321.75, 45, 42.75).Select
ActiveSheet.Buttons.Add(1234.5, 231, 45, 50.25).Select
ActiveSheet.Buttons.Add(1233, 133.5, 47.25, 57.75).Select
ActiveSheet.Buttons.Add(450.75, 1126.5, 48, 227.25).Select
ActiveSheet.Buttons.Add(1261.5, 420.75, 46.5, 86.25).Select
'
Sheets("saisie").Copy Before:=Workbooks("retards d'exploitation.xls").Sheets(1)
Windows("Nouvelle Feuille Retards d'Exploitation.xls").Activate
Sheets("Graphiques").Select
'
Sheets("Graphiques").Copy Before:=Workbooks("retards d'exploitation.xls").Sheets(2)
Sheets("saisie").Select
Sheets("feuil1").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("saisie").Select
Columns("I:I").Select
Columns("I:Z").Select
Selection.EntireColumn.Hidden = True
Rows("59:95").Select
Selection.EntireRow.Hidden = True
Range("AA1").Select
Windows("Nouvelle Feuille Retards d'Exploitation.xls").Activate
Sheets("saisie").Select
Range("O2").Select

' Macro3envoiMail Macro
'

Workbooks("retards d'exploitation").SendMail Recipients:=ActiveSheet.Range("M42:M44").Value, _
'dans la cellule D60 de la feuille "saisie" du classeur "Nouvelle Feuille Retards d'Exploitation.xls"
'se trouve le nom du classeur a envoyer
Subject:=Range("D60").Value, _
ReturnReceipt:=True
Else
End If
End Sub


j'ai une variable qui se trouve en D60 de la feuille "saisie" du classeur "nouvelle feuille de retards d'exploitation" qui represente "retards d'exploitation mois/annee". il est donc bien entendu que tous les mois ca change. le classeur "Retards d'exploitation" doit etre envoyer a des clients, je réussis a mettre en objet du message la valeur de la cellule D60 mais je n'arrive pas a nommer de cette meme valeur ce classeur. actuellement si je veux que le classeur a envoyer ai le meme nom que l'objet je dois modifier le classeur "retards d'exploitation" manuellement par "retards d'exploitation mois/annee" et faire de meme dans cette macro ci dessus......galere quoi.
ce que je voudrais c'est ne pas avoir tous les mois a modifier la macro...
j'espere avoir été clair, mais j'en suis pas sur...
merci d'avance les cadors exceliens



5 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
22 janv. 2015 à 09:25
Bonjour,

Je pense qu'il faut enregistrer le fichier sous le nouveau nom avant de l'envoyer, comme ceci:

 ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("D60").Value & ".xls", _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False ' a adapter le format d'enregistrement (Excel 97-2003), le fichier est enregistré dans le même dossier que l'original
   Workbooks(Range("D60").Value).SendMail Recipients:="e-mail a adapter", _
                          Subject:=Range("D60").Value, _
                          ReturnReceipt:=True

0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
22 janv. 2015 à 10:36
Pour envoyer le classeur avec seulement une feuille, voici le code:

 Dim Nom As String
 Nom = [D60]
 Sheets("Feuil1").Copy 'a adapter
 ActiveWorkbook.SaveAs Nom
    Workbooks(Range("D60").Value).SendMail Recipients:="e-mail a adapter", _
                          Subject:=Range("D60").Value, _
                          ReturnReceipt:=True

0
joseB45 Messages postés 22 Date d'inscription jeudi 26 décembre 2013 Statut Membre Dernière intervention 16 septembre 2015
22 janv. 2015 à 11:10
ton code fonctionne tres bien Le Pivert à un detail pres.....le classeur que j'envoie c'est le classeur appelé a l'origine "retards d'exploitation" c'est donc celui ci que je veux renommer et envoyer. ton code renomme mon classeur "nouvelle feuille retards d'exploitation" et l'envoie.....mais il y a plusieurs feuilles dessus que je ne veux pas que le client voit.
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
22 janv. 2015 à 13:27
Le dernier code que j'ai mis ne copie qu'une seule feuille!!!!
0

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

Posez votre question
joseB45 Messages postés 22 Date d'inscription jeudi 26 décembre 2013 Statut Membre Dernière intervention 16 septembre 2015
23 janv. 2015 à 07:07
ok j'essaie d'adapter mon truc a ton code et je vois ce que ca donne
0