ph.vanne
XLDnaute Junior
bonjour à tous ,
j'ai une macro ,qui fonctionnait parfaitement auparavant ,et qui depuis deux jours me donne du fil a retordre !!
en effet, au lancement de la macro j'ai maintenant une fenêtre qui s'affiche : " Publication... " avec une barre de progression en vert qui avance lentement .. (très lentement )
la macro fini par s'exécuter , sans erreur , mais cela prends désormais 2 minutes 30 !
avez vous une idée..?
la macro en question :
Sub imprimer_et_envoyer_par_mail()
Application.ScreenUpdating = False
PieceJointe = Environ("Temp") & "\" & "Réservation_" & Range("h4")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PieceJointe & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Destinataire = Range("B15")
Sujet = Range("B1") & " " & Range("E3")
nom = Range("D8")
Texte = "Bonjour" & Chr(10) & Chr(13) & Chr(10) & Chr(13) & "Merci de bien vouloir trouver ci-joint votre réservation en objet." & Chr(10) & Chr(13) & "merci de la contrôler afin de vérifier l'ensemble des informations." & Chr(10) & Chr(13) & Chr(10) & Chr(13) & "Bien cordialement." & Chr(10) & Chr(13) & Chr(10) & Chr(13) & "La réception."
Mail = "C:\Program Files\Mozilla Thunderbird Beta\thunderbird.exe"
monCourriel = " -compose " & "to=" & Destinataire & "," & "subject=" & Sujet & "," & "body=" & Texte & "," & "attachment=" & PieceJointe & ".pdf"
Shell Mail & monCourriel, vbNormalFocus
Application.Dialogs(xlDialogPrinterSetup).Show
'apres selection de l imprimante ,imprimer la fiche de reservation
Sheets("fiche client").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
'Enregistrement dans le dossier FICHES CLIENT sur le Bureau
Dim LeRep As String, NomDossier As String, madate As String, madate2 As String
LeRep = ThisWorkbook.Path & "\"
madate = Range("G19")
madate2 = Format(madate, "_dd-mm-yy")
NomDossier = Range("H4")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
LeRep & NomDossier & madate2 & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=True
'copie des informations dans "Liste reservations" '
'copie du nom
Sheets("fiche client").Select
Range("H4").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie du prenom
Sheets("fiche client").Select
Range("H7").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("b2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie de la date d'arrivée
Sheets("fiche client").Select
Range("g18").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("d2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie de la date de départ
Sheets("fiche client").Select
Range("g22").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("e2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie de la date d'enregistrement de la reservation
Sheets("fiche client").Select
Range("B52").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("f2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("f2").Select
Application.CutCopyMode = False
Selection.NumberFormat = "dd/mm/yyyy"
'copie de l'heure
Sheets("fiche client").Select
Range("B53").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G2").Select
Application.CutCopyMode = False
Selection.NumberFormat = "hh:mm"
'copie la ligne de "Liste reservations" et colle sur la derniere ligne non vide de "RESERVATIONS"
Sheets("Liste reservations").Select
Rows(Range("A65535").End(xlUp).Row).Select
Selection.Copy
Sheets("RESERVATIONS").Select
Range("A" & Range("A65535").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A" & Range("A65535").End(xlUp).Row + 1).Select
Sheets("fiche client").Select
Range("H4:AH5").Select
Application.ScreenUpdating = True
'Enregistrer et fermer le classeur'
ActiveWorkbook.Save
ActiveWorkbook.Close False
DoEvents
Application.Quit
End Sub
j'ai une macro ,qui fonctionnait parfaitement auparavant ,et qui depuis deux jours me donne du fil a retordre !!
en effet, au lancement de la macro j'ai maintenant une fenêtre qui s'affiche : " Publication... " avec une barre de progression en vert qui avance lentement .. (très lentement )
la macro fini par s'exécuter , sans erreur , mais cela prends désormais 2 minutes 30 !
avez vous une idée..?
la macro en question :
Sub imprimer_et_envoyer_par_mail()
Application.ScreenUpdating = False
PieceJointe = Environ("Temp") & "\" & "Réservation_" & Range("h4")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PieceJointe & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Destinataire = Range("B15")
Sujet = Range("B1") & " " & Range("E3")
nom = Range("D8")
Texte = "Bonjour" & Chr(10) & Chr(13) & Chr(10) & Chr(13) & "Merci de bien vouloir trouver ci-joint votre réservation en objet." & Chr(10) & Chr(13) & "merci de la contrôler afin de vérifier l'ensemble des informations." & Chr(10) & Chr(13) & Chr(10) & Chr(13) & "Bien cordialement." & Chr(10) & Chr(13) & Chr(10) & Chr(13) & "La réception."
Mail = "C:\Program Files\Mozilla Thunderbird Beta\thunderbird.exe"
monCourriel = " -compose " & "to=" & Destinataire & "," & "subject=" & Sujet & "," & "body=" & Texte & "," & "attachment=" & PieceJointe & ".pdf"
Shell Mail & monCourriel, vbNormalFocus
Application.Dialogs(xlDialogPrinterSetup).Show
'apres selection de l imprimante ,imprimer la fiche de reservation
Sheets("fiche client").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
'Enregistrement dans le dossier FICHES CLIENT sur le Bureau
Dim LeRep As String, NomDossier As String, madate As String, madate2 As String
LeRep = ThisWorkbook.Path & "\"
madate = Range("G19")
madate2 = Format(madate, "_dd-mm-yy")
NomDossier = Range("H4")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
LeRep & NomDossier & madate2 & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=True
'copie des informations dans "Liste reservations" '
'copie du nom
Sheets("fiche client").Select
Range("H4").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie du prenom
Sheets("fiche client").Select
Range("H7").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("b2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie de la date d'arrivée
Sheets("fiche client").Select
Range("g18").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("d2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie de la date de départ
Sheets("fiche client").Select
Range("g22").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("e2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'copie de la date d'enregistrement de la reservation
Sheets("fiche client").Select
Range("B52").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("f2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("f2").Select
Application.CutCopyMode = False
Selection.NumberFormat = "dd/mm/yyyy"
'copie de l'heure
Sheets("fiche client").Select
Range("B53").Select
Selection.Copy
Sheets("Liste reservations").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G2").Select
Application.CutCopyMode = False
Selection.NumberFormat = "hh:mm"
'copie la ligne de "Liste reservations" et colle sur la derniere ligne non vide de "RESERVATIONS"
Sheets("Liste reservations").Select
Rows(Range("A65535").End(xlUp).Row).Select
Selection.Copy
Sheets("RESERVATIONS").Select
Range("A" & Range("A65535").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A" & Range("A65535").End(xlUp).Row + 1).Select
Sheets("fiche client").Select
Range("H4:AH5").Select
Application.ScreenUpdating = True
'Enregistrer et fermer le classeur'
ActiveWorkbook.Save
ActiveWorkbook.Close False
DoEvents
Application.Quit
End Sub