Excel : Envoyer la feuille dasboard sans envoyer les feuilles de Datas

Fermé
abourakba Messages postés 77 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 20 janvier 2023 - 30 avril 2020 à 01:38
abourakba Messages postés 77 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 20 janvier 2023 - 1 mai 2020 à 23:56
Bonjour,
Je dispose d'un fichier excel qui contient 3 feuilles de données et une feuille "Dashboard" où j'ai mis des TCD d'analyses.
Y a-t-il un moyen pour envoyer uniquement la feuille qui contient les TCD ( Dasboards) sans avoir besoin d'envoyer les autres feuilles qui contiennent les données à d'autres personnes?

Si oui, comment peut-on réaliser cela ?


Configuration: Windows / Chrome 81.0.4044.129
A voir également:

4 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
30 avril 2020 à 19:27
Re,

faire d'une feuille Excel un classeur n'est pas un problème, par contre il est impératif que la feuille en question ne puise pas d'information d'autres feuilles sinon tu auras des problèmes ou il faut envoyer le classeur existant.
A te lire
1
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
30 avril 2020 à 09:31
0
abourakba Messages postés 77 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 20 janvier 2023
30 avril 2020 à 19:15
Bonjour Le Pivet,
Malheureusement cette solution ne fonctionne pas car les personnes qui reçoivent le fichier obtient le message d'err ci-dessous lorsqu'il essayent de double cliquer sur une ligne dans le TC pour afficher les données.
Je pense que le classeur ne trouve plus apres les connexions.
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
30 avril 2020 à 10:23
Bonjour,

regarde cette procédure que je viens d'écrire pour une demande similaire,
envoi direct en CDO, code à copier dans un module,
en début de procédure il te suffit de renseigner uniquement les trois constentes
smtp de ton fournisseur d'accés, l'adresse courriel expéditeur et bien sur l'adresse du destinataire et activer le code Envoi_Feuille_Excel_FormatPDF


Option Explicit

Const SMTP As String = "smtp.xxxx.xx" ' Saisir entre guillemet le smtp de son fournisseur d'accès
Const Expediteur As String = "xxxxxx@xxxx" 'adresse mail de l'expéditeur n'est pas obligatoire
Const Destinataire As String = "xxxxxx@xxxx" 'Email du destinataire doit-être correct ici
Dim chemin, nom As String

Sub Envoi_Feuille_Excel_FormatPDF()
'---------------------------------------Création du fichier temporaire
Application.DisplayAlerts = False '-------Annulation des alertes

chemin = ActiveWorkbook.Path
nom = "Dashboard" & ".PDF" 'nom du nouveau classeur dans cellule et définir extension si différente d'application
'---------------------Nom du fichier à envoyer extension PDF
Sheets("Dashboard").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & nom, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
'---------------------------------------Appel procédure d'envoi
Call Procédure_Envoi
Application.DisplayAlerts = True '-------rétablissement des alertes
'---------------------------------------Après l'envoi le fichier "Temporaire" est supprimé
Kill chemin & "\" & nom
End Sub

Sub Procédure_Envoi()
Dim messageHTML As Variant
Dim objMessage As Variant
Dim piece_jointe As Variant
'----------------------------------------crée le fichier à envoyer
On Error GoTo errorHandler
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = [B1].Value
objMessage.From = Expediteur
objMessage.To = Destinataire

'----------------------------------------Création le corps du message avec insertion de sauts de ligne
objMessage.TextBody = "Bonjour" & " " & "Objet: xxxxxxxxx" & "," & vbCrLf & vbCrLf _
& "Madame, Monsieur," & "." & vbCrLf & vbCrLf _
& "Veuillez trouvez ci-joint le xxxxxxxx" & vbCrLf _
& "texte première ligne" & vbCrLf _
& "texte deuxième ligne" & vbCrLf _
& "texte troisième ligne" & vbCrLf _
& "texte quatrième ligne" & vbCrLf _
& "texte cinquième ligne" & vbCrLf _
& "texte sixième ligne" & vbCrLf _
& "Cordialement "
'----------------------------------------Sélectionnes la pièce à joindre
piece_jointe = ActiveWorkbook.Path & "\" & nom 'suivant variable nom
' piece_jointe = ActiveWorkbook.Path & "\" & "Temporaire.PDF" 'ou si le nom est fixement défini
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTP
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
objMessage.AddAttachment (piece_jointe)
objMessage.Send
MsgBox "Le mail a été bien envoyé !" 'Confirmation de l'envoi
'---------------------------------------Si erreur on sort de la procédure
Exit Sub
errorHandler:
'---------------------------------------Description de l'erreur survenue
MsgBox Err.Description
End Sub
0
abourakba Messages postés 77 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 20 janvier 2023
30 avril 2020 à 19:13
Bonjour Mike et merci pour ta réponse.
En fait je ne cherche pas à envoyer mon classeur en format PDF car les personnes qui vont le recevoir doivent aussi le manipuler et y extraire des données.
J'ai essayer de mettre ma feuille qui contient les TCD dans nouveau Classeur et l'envoyer à deux personnes pour test mais lorsqu'il essaye de cliquer sur n'importe ligne dans les TCD ,le message d'erreur ci-dessous s'affiche.
Je pense que les TCD l'affichent car il ne trouvent plus les feuilles des donnees.
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094 > abourakba Messages postés 77 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 20 janvier 2023
1 mai 2020 à 02:03
Bonjour.
  • Effectivement, le TCD puisant ses informations dans les autres feuilles, tu ne peux pas isoler ta feuille.
  • Tu pourrais faire une capture d'écran du TCD, et envoyer l'image (figée) à tes correspondants.
  • Tu voudrais qu'ils puissent manipuler ton TCD ; je veux bien ; mais qu'entends-tu par "extraire des données" ? On ne peut que relever les totaux et autres résultats au clavier, manuellement, puisqu'il n'y a pas de données dans le TCD : il ne contient que des valeurs collectées dans les tableaux de données ...
  • Dernière remarque : tu pourrais protéger tes 3 feuilles de données après avoir verrouillé les cellules, ou bien les masquer avant de protéger le classeur ... Mais attention : évite de mettre un mot de passe, que tu risques fort d'oublier d'ici 3 mois ...
0
abourakba Messages postés 77 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 20 janvier 2023
1 mai 2020 à 23:56
Bonjour Raymond,
Je te remercie pour ces explications:)
0