Postez la sélection à l’aide VBA dans Microsoft Excel
-
Créez un nouveau classeur avec la sélection.
-
Enregistrez le classeur avant de l’envoyer.
-
Supprimez le fichier de votre disque dur après son envoi.
Il affichera les lignes et les colonnes cachées dans la sélection Toutes les cellules vides en dehors de la sélection sont cachées (voir capture d’écran)
De cette façon, la sélection est toujours en haut de votre feuille
Sub Mail_Selection() Dim strDate As String Dim Addr As String Dim rng As Range If ActiveWindow.SelectedSheets.Count > 1 Or Selection.Areas.Count > 1 Then Exit Sub Application.ScreenUpdating = False Addr = Selection.Address ActiveSheet.Copy ActiveSheet.Pictures.Delete With Cells .EntireColumn.Hidden = False .EntireRow.Hidden = False End With Range(Addr).Select Set rng = Selection Application.GoTo rng, True With rng.EntireColumn .Hidden = True rng(1).EntireRow.SpecialCells(xlVisible).EntireColumn.Clear rng(1).EntireRow.SpecialCells(xlVisible).EntireColumn.Hidden = True .Hidden = False End With With rng.EntireRow .Hidden = True rng(1).EntireColumn.SpecialCells(xlVisible).EntireRow.Clear rng(1).EntireColumn.SpecialCells(xlVisible).EntireRow.Hidden = True .Hidden = False End With Application.GoTo rng, True rng.Cells(1).Select strDate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm-ss") ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _ & " " & strDate & ".xls" ActiveWorkbook.SendMail "[email protected]", _ "This is the Subject line" ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False Application.ScreenUpdating = True End Sub