Probleme avec une variable
joseB45
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
joseB45 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
joseB45 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
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
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
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
A voir également:
- Probleme avec une variable
- Variable d'environnement temp - Forum Word
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba excel sélectionner une plage de cellules variable ✓ - Forum Excel
5 réponses
Bonjour,
Je pense qu'il faut enregistrer le fichier sous le nouveau nom avant de l'envoyer, comme ceci:
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
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
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question