XL 2016 impression et mail en listing

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
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
 
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
 
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
 
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?? 😕😵 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) ) ?? 😵

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

.Range("L:L").Columns.Autofit
 
Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
884
Réponses
10
Affichages
617
Réponses
7
Affichages
256
Retour