XL 2016 impression et mail en listing

auverland

XLDnaute Occasionnel
Bonjour à tous

J'aimerais pouvoir imprimer en PDF certaines cellule sur chaque ligne de mon listing feuille base de données et l'envoyer par mail suivant ma colonne M du listing
Dans l'idéal la liste des destinataire en action serait sur la feuille TXT en colonne F

J'ai essayer mais là y a pas grand chose qui fonctionne :
La mise en page est pas bonne et pour la liste des destinataires j'ai pas du tout regardé

J'aimerais obtenir sur une page pour chaque client qui a un 1 dans la colonne envoie par mail :
Date
N° de dossier
Nom prenom
Telephone
la raison d'appel
commentaire



Merci d'avance pour votre aide
 

Pièces jointes

  • accueil téléphonique_V2.xlsm
    49.9 KB · Affichages: 32

Lone-wolf

XLDnaute Barbatruc
Bonjour auverland, le Forum :)

@auverland

J'aimerais pouvoir imprimer en PDF certaines cellule sur chaque ligne de mon listing feuille base de données

Crée une nouvelle feuille, et dispose (ou fait une mise en page) les coordonnées (dates - n° de dossier - nom du client etc.). Mais avant, dans base de données, ajoute les adresses emails, ça sera plus simple(on recherche les infos sur une seule feuille au lieu de 2 ou 3). Dans la nouvelle feuille, crée un liste déroulante avec les noms des clients et une simple formule avec RECHERCHEV pour afficher les données. De là, on copie la feuille et on l'exporte au format Pdf.

Il faudrait me dire qui sont les déstinataires, ceux de la feuille TXT? Mais les adresses emails des clients, il faut les ajouter dans la feuille base de données avec le formulaire.

Exemple Pdf en PJ

EDIT: ton fichier en retour, regarde si ça te convient. Fait ton choix dans la colonne N en cliquant sur une cellule, puis clique sur le bouton; ensuite pour éffacer, clique sur l'une des colonnes P ou Q. Pour test, met le dossier et le fichier sur le bureau. Ensuite change le chemin dans la macro du module envoisoutlook.
 

Pièces jointes

  • exemple.pdf
    375.7 KB · Affichages: 43
  • Envois Pdf.zip
    52.3 KB · Affichages: 43
Dernière édition:

auverland

XLDnaute Occasionnel
Bonjour @Lone-wolf

Merci de votre aide, effectivement passer par une feuille intermédiaire avec une mis en page serait une super bonne idée
les destinataires sont bien ceux de la feuille TXT et on peux les déplacer si besoin

Par contre je ne serais pas faire pour une feuille avec la mis en page qui ne prenne uniquement les lignes qui sont a 1 en colonne mail.
Comment faire pour que la cellule commentaire s'adapte à la longueur de mon texte

Merci, Si vous avez une piste
 

auverland

XLDnaute Occasionnel
re bonjour @Lone-wolf

Cela ne fonctionne pas sur mon poste, il crée bien un excel indépendant mais plante à la commande :
ActiveSheet.ExportAsFixedFormat xlTypePDF, Rep & Fichier

J'indique bien mon chemin de :
Rep = ThisWorkbook.Path & "C:\Users\chris\Desktop\envois Pdf\Documents envoyés\"

Apres votre macro permet l'envois d'une fiche clients à un destinataire , ce que je souhaite c'est l'envoie de toute les fiches clients sélectionné à ma liste complète de destinataire
 

auverland

XLDnaute Occasionnel
re_bonjour @Lone-wolf
N'est-il pas possible de paser par une boucle de ce type :

Code:
Sub CreationFeuilles()
Dim J As Long
Dim Ws As Worksheet

  Application.ScreenUpdating = False                        ' Masque le raffraichissement écran
  Set Ws = Sheets("Liste")
  For J = 1 To Range("A" & Rows.Count).End(xlUp).Row        ' Pour tous les nombres de la colonne A
    If Not ExisteFeuille(Ws.Range("A" & J).Text) Then       ' Si la feuille n'est pas présente
      Sheets.Add after:=Sheets(Sheets.Count)                ' On rajoute une feuille à la fin
      ActiveSheet.Name = Ws.Range("A" & J)                  ' On renomme cette feuille
      Sheets("Modèle").Cells.Copy Destination:=Range("A1")  ' On y copie la page "Modèle" dedans
      Range("B2") = Ws.Range("A" & J)                       ' On y copie le numéro en B2
      Range("C2") = Ws.Range("B" & J)                       ' On y copie le nom en C2
    End If
  Next J
  Ws.Select
End Sub


Function ExisteFeuille(Nom As String) As Boolean
' retourne True ou False qui indique la présence ou l'absence de la feuille
  On Error Resume Next
  ExisteFeuille = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Qui créer des nouvelles feuilles et de là il est possible de faire l'impression PDF
 

Lone-wolf

XLDnaute Barbatruc
Bonsoir auverland, le Forum :)

@auverland

Si c'est possible, mais inutile. Pourquoi diable donc tu veux copier 50 fois la même feuille (Sheets("Modèle").Cells.Copy), alors que là tu es sur une?? :confused:o_O Et si tu regarde bien, les données changes toutes les 2 secondes environ.

En plus tu n'a pas mis une feuille modèle pour l'exporter en pdf.
Tu veux avoir toute une colonne(en gras) dans une cellule ( Range("B2") = Ws.Range("A" & J) ) ?? o_O

Comment faire pour que la cellule commentaire s'adapte à la longueur de mon texte

.Range("L:L").Columns.Autofit
 
Dernière édition:

auverland

XLDnaute Occasionnel
Bonjour @Lone-wolf
Bonjour le Forum

Désolé je n'ai pas pris le temps de te remercier
Le fichier marche en effet super bien, il passait en erreur chez moi dans le script sur la ligne (ActiveSheet.ExportAsFixedFormat xlTypePDF, Rep & Fichier) car pour la création du fichier (Fichier = .Range("c16") & " " & .Range("i3") & ".pdf") l'utilisation de i3 qui est une date avec des / n'est pas possible

Je me permet de le mettre en commentaire au cas ou cela serait utile pour d'autres
Bonne fin de semaine
 

auverland

XLDnaute Occasionnel
Bonjour le Forum

Est-il possible de modifier la Macro pour ne plus avoir un mail par fiche sélectionnée mais un seul mail qui comprendrait avec toutes les fiches sélectionner ?

Merci d'avance
 

Pièces jointes

  • accueil téléphonique_V2.xlsm
    53.2 KB · Affichages: 27

Discussions similaires

Réponses
2
Affichages
657

Statistiques des forums

Discussions
315 094
Messages
2 116 143
Membres
112 669
dernier inscrit
Guigui2502