Enregistrer rapidement un email en pdf

Sous Microsoft Outlook (sous Windows), possibilité de créer une macro VBA simple et l’associer à un bouton de la barre d’outils “Accès rapide”.

Création de la Macro :

  • Ouvrir l’éditeur Microsoft Visual Basic pour Applications depuis votre fenêtre Outlook : Alt + F11
  • Créer un module
    null
  • Coller ce bout de code
Sub SaveAsPDFfile()
'====================================================
' Description: Outlook macro to save a selected item in the pdf-format
' Requires Word 2007 SP2 or Word 2010
' Requires a reference to "Microsoft Word Object Library"
' (version is 12.0 or 14.0)
' In VBA Editor; Tools-> References…
'
' author: Robert Sparnaaij
' website: http://www.howto-outlook.com/howto/saveaspdf.htm
'
' Complété et modifié le 24/08/2017 par HGD :
' + ajout du numéro de page en pied de page
' + modification du nom de fichier proposé par défaut pour un format "AAAAMMJJ-HHhmm-Email_Expéditeur"
' + modification du dossier de sauvegarde par défaut (Bureau)
' + ouverture du pdf et de l'explorateur Windows en fin de processsus
'
'====================================================
'Get all selected items Dim MyOlNamespace As Outlook.NameSpace Set MyOlNamespace = Application.GetNamespace("MAPI") Set MyOlSelection = Application.ActiveExplorer.Selection 'Make sure at least one item is selected If MyOlSelection.Count <> 1 Then Response = MsgBox("Please select a single item", vbExclamation, "Save as PDF") Exit Sub End If 'Retrieve the selected item Set MySelectedItem = MyOlSelection.Item(1) 'Get the user's TempFolder to store the item in Dim FSO As Object, TmpFolder As Object Set FSO = CreateObject("scripting.filesystemobject") Set tmpFileName = FSO.GetSpecialFolder(2) 'construct the filename for the temp mht-file strName = "testPDFOutlook03" tmpFileName = tmpFileName & "\" & strName & ".mht" 'Save the mht-file MySelectedItem.SaveAs tmpFileName, olMHTML 'Create a Word object Dim wrdApp As Word.Application Dim wrdDoc As Word.Document Set wrdApp = CreateObject("Word.Application") 'Open the mht-file in Word without Word visible Set wrdDoc = wrdApp.Documents.Open(FileName:=tmpFileName, Visible:=False) ' HGD le 24/08/2017 : Ajout des numéros de page en pied de page central wrdDoc.Sections(1).Footers(wdHeaderFooterPrimary).PageNumbers.Add _ PageNumberAlignment:=wdAlignPageNumberCenter ' et pas testé complètement, mais à tester et affiner si on souhaite les numéros de page aussi (issu d'un enregistrement de macro sous Word)
' If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
' ActiveWindow.Panes(2).Close
' End If
' If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
' ActivePane.View.Type = wdOutlineView Then
' ActiveWindow.ActivePane.View.Type = wdPrintView
' End If
' ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
' Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
' Selection.TypeText Text:="Page "
' Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
' "PAGE ", PreserveFormatting:=True
' Selection.TypeText Text:=" / "
' Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
' "NUMPAGES ", PreserveFormatting:=True
' Selection.Font.Bold = wdToggle
' Selection.Font.Size = 10
' Selection.Font.Name = "Arial"
' Selection.Font.Name = "Calibri"
' ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
'Define the SaveAs dialog Dim dlgSaveAs As FileDialog Set dlgSaveAs = wrdApp.FileDialog(msoFileDialogSaveAs) 'Determine the FilterIndex for saving as a pdf-file 'Get all the filters Dim fdfs As FileDialogFilters Dim fdf As FileDialogFilter Set fdfs = dlgSaveAs.Filters 'Loop through the Filters and exit when "pdf" is found Dim i As Integer i = 0 For Each fdf In fdfs i = i + 1 If InStr(1, fdf.Extensions, "pdf", vbTextCompare) > 0 Then Exit For End If Next fdf 'Set the FilterIndex to pdf-files dlgSaveAs.FilterIndex = i 'Get location of My Documents folder Dim WshShell As Object Dim SpecialPath As String Set WshShell = CreateObject("WScript.Shell") SpecialPath = WshShell.SpecialFolders("Desktop") ' HGD le 24/08/2017 : voir <http://excel-malin.com/codes-sources-vba/trouver-chemin-de-bureau/> ' Formule initiale vers "Mes Documents" avec SpecialPath = WshShell.SpecialFolders(16) 'Construct a safe file name from the message subject Dim msgFileName As String msgFileName = MySelectedItem.ReceivedTime ' HGD le 24/08/2017 : rend quelque chose du genre "24/08/2017 15:07:30" ' Formule initiale avec comme nom de fichier le Sujet du mail : msgFileName = MySelectedItem.Subject ' HGD le 24/08/2017 : Construction d'un nom de type "AAAAMMJJ-HHhmm-Email_Expéditeur" Dim AAAA, MM, JJ, HH, min, ss As String JJ = Left(msgFileName, 2) MM = Right(Left(msgFileName, 5), 2) AAAA = Right(Left(msgFileName, 10), 4) HH = Right(Left(msgFileName, 13), 2) min = Right(Left(msgFileName, 16), 2) ss = Right(Left(msgFileName, 19), 2) msgFileName = AAAA & MM & JJ & "-" & HH & "h" & min ' & "-" & ss ' (pas besoin des secondes) msgFileName = msgFileName & "-Email_" & MySelectedItem.SenderName Set oRegEx = CreateObject("vbscript.regexp") oRegEx.Global = True oRegEx.Pattern = "[\\/:*?""<>|]" msgFileName = Trim(oRegEx.Replace(msgFileName, "")) 'Set the initial location and file name for SaveAs dialog Dim strCurrentFile As String dlgSaveAs.InitialFileName = SpecialPath & "\" & msgFileName 'Show the SaveAs dialog and save the message as pdf If dlgSaveAs.Show = -1 Then strCurrentFile = dlgSaveAs.SelectedItems(1) 'Verify if pdf is selected If Right(strCurrentFile, 4) <> ".pdf" Then Response = MsgBox("Sorry, only saving in the pdf-format is supported." & _ vbNewLine & vbNewLine & "Save as pdf instead?", vbInformation + vbOKCancel) If Response = vbCancel Then wrdDoc.Close wrdApp.Quit Exit Sub ElseIf Response = vbOK Then intPos = InStrRev(strCurrentFile, ".") If intPos > 0 Then strCurrentFile = Left(strCurrentFile, intPos - 1) End If strCurrentFile = strCurrentFile & ".pdf" End If End If 'Save as pdf wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _ strCurrentFile, ExportFormat:= _ wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _ wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=0, To:=0, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ BitmapMissingFonts:=True, UseISO19005_1:=False End If Set dlgSaveAs = Nothing ' close the document and Word wrdDoc.Close wrdApp.Quit ' HGD le 24/08/2017 : Ouverture de l'explorateur Windows en fin de processus ' voir https://excel.developpez.com/faq/index.php?page=FichiersDir#OuvreExploWindows Dim MonFichier As String MonFichier = SpecialPath Shell "C:\windows\explorer.exe " & MonFichier, vbMaximizedFocus ' HGD le 24/08/2017 : Ouverture du fichier pdf en fin de processus (pour visu et vérification) ' voir http://excel-malin.com/codes-sources-vba/vba-ouvrir-un-fichier-de-tout-type/ Dim MonApplication As Object Set MonApplication = CreateObject("Shell.Application") MonFichier = SpecialPath & "\" & msgFileName & ".pdf" MonApplication.Open (MonFichier) Set MonApplication = Nothing 'Cleanup Set MyOlNamespace = Nothing Set MyOlSelection = Nothing Set MySelectedItem = Nothing Set wrdDoc = Nothing Set wrdApp = Nothing Set oRegEx = Nothing
End Sub
  • Adapter les éléments en gras à ce que vous souhaitez et fermer l’éditeur en sauvegardant.

Création du bouton et affectation de la macro

  • Ouvrir la fenêtre des Options Outlook : voir image ci-dessous.
  • Sélectionner “Macros” dans les catégories de commandes à afficher
  • Puis la Macro à ajouter et enfin “Ajouter” (bouton au milieu).
  • Vous pouvez ensuite modifier le “Nom” du bouton, et son symbole.
  • Accéder rapidement à l’action via le bouton qui s’affiche dans la barre tout en haut

Ajouter rapidement un préfixe à l’objet d’un email

Sous Microsoft Outlook (sous Windows), possibilité de créer une macro VBA simple et l’associer à un bouton de la barre d’outils “Accès rapide”.

Création de la Macro :

  • Ouvrir l’éditeur Microsoft Visual Basic pour Applications depuis votre fenêtre Outlook : Alt + F11
  • Créer un module
  • Coller ce bout de code
Sub CreerEmail_AMO_Funiflaine()
'Voir https://docs.microsoft.com/fr-fr/office/vba/api/outlook.mailitem

Dim myItem As Object
Set myItem = Application.CreateItem(olMailItem)

myItem.Subject = "[AMO Funiflaine] "
myItem.Display

End Sub
  • Adapter les éléments en gras à ce que vous souhaitez et fermer l’éditeur en sauvegardant.

NB : prévoir un espace à la fin de l’objet pour faciliter la rédaction ensuite.

Création du bouton et affectation de la macro

  • Ouvrir la fenêtre des Options Outlook : voir image ci-dessous.
  • Sélectionner “Macros” dans les catégories de commandes à afficher
  • Puis la Macro à ajouter et enfin “Ajouter” (bouton au milieu).
  • Vous pouvez ensuite modifier le “Nom” du bouton, et son symbole.

Gare de Moissac, locaux disponibles, 93 m², déposer un projet…

En lançant l’opération 1001 gares, Gares & Connexions espère revitaliser de très nombreuses gares qui passent un peu sous le radar. Certes, on est dans un registre plus soutenu que les quelque 1 500 haltes équipées d’abris de quai. On est dans le dur, avec des « bâtiments voyageurs », « BV » pour les intimes. Mais ce millier de gares n’ont pas de commerces et leurs 300 voyageurs par jour en moyenne ne suffisent pas pour en attirer. On est très loin du modèle City Booster dont raffole Gares & Connexions.

Source : Gare de Moissac, locaux disponibles, 93 m², déposer un projet… – Ville, Rail et Transports

Visualizing Geographic Statistical Data with Google Maps

This tutorial will teach you how to create a custom Google Maps based map for visualizing geographic statistical data. Such maps can be a useful tool when developing machine learning models. As a specific example case, we will create a map for visualizing the population density and median household income of postal code areas in Finland.

Source : Visualizing Geographic Statistical Data with Google Maps

MS Project : fonction « report » pour reporter plusieurs tâches sur une même ligne

  1. Ajouter le champ « Report » dans les colonnes du planning
  2. Mettre sur Oui le champ « Report » des tâches subordonnées qui doivent être reportées sur la barre de la tâche récapitulative
  3. Mettre sur Oui le champ « Report » des tâches récapitulatives sur lesquelles les tâches subordonnées doivent être reportées

/!\ Les tâches à reporter doivent obligatoirement être des tâches subordonnées !

  1. Créer une barre de style qui représentera ces « tâches reportées », avec la notion de “Répétées”

remove.bg : détourer une image n’a jamais été aussi facile

Vous vous souvenez des cours d’informatique où vous détouriez péniblement des images avec le lasso magnétique ? C’est de l’histoire ancienne avec remove.bg, une web app qui supprime automatiquement et en quelques secondes l’arrière-plan des images que vous lui soumettez.

Source : remove.bg : détourer une image n’a jamais été aussi facile | MacGeneration

Excel : rechercher les liaisons externes liées à une validation

La présence de liens externes est un problème assez courant et assez très très sioux.

Il faut en général:

  • faire une recherche dans l’ensemble du classeur pour un “[” ou un “.xl” (CTRL+F, et choisir de chercher sur tout le classeur)
  • vérifier les noms : onglet Formules, Gestionnaire de noms
  • vérifier les mises en forme conditionnelle : pour un prochain article
  • vérifier les validations

Voici donc une petite macro qui va permettre de parcourir l’ensemble des validations de données d’un classeur pour identifier celles qui pourraient contenir des liaisons externes.

Source : Rechercher les liaisons externes liées à une validation – XLérateur

Windows : limiter la recherche aux noms de dossiers

 

Dans un champ de recherche Windows, dans une fenêtre d’explorateur par exemple, saisissez le ou les mots clés à rechercher dans les noms des dossiers.

Ajoutez à la suite la commande type:dossier et validez.

 

Source : Limiter la recherche aux noms de dossiers – Windows 7

Utiliser une formule dans un tableau Word ou Outlook

Vous pouvez effectuer des calculs et des comparaisons logiques dans un tableau à l’aide de formules. La commande Formule se trouve dans les Outils de tableau, dans l’onglet Disposition, dans le groupe Données.

Source : Utiliser une formule dans un tableau Word ou Outlook – Support Office

Uber lance ses véhicules autonomes à Pittsburgh

L’industrie naissante de l’automobile autonome va franchir un cap décisif dès la fin du mois. Uber va proposer à ses utilisateurs de Pittsburgh de monter dans des voitures “sans chauffeur“, et de se laisser conduire entièrement par le véhicule sans l’aide d’un humain. Une première pour ce secteur bouillonnant, qui jusqu’à présent se contentait d’avaler les kilomètres à bord de voitures de test, sans visée commerciale.

Source : Uber lance ses véhicules autonomes à Pittsburgh

et : Uber’s First Self-Driving Fleet Arrives in Pittsburgh This Month

17 sites pour faire des Graphes et des camemberts en ligne gratuitement

Sélection de site pour faire des camemberts et graphes en ligne une bonne façon d’agrémenter un site, un rapport, ou une présentation powerpoint.

Source : 17 Sites Pour Faire Des Graphes Et Des Camemberts En Ligne Gratuitement