Mail automatique avec recherche d'éléments
Bonjour,
je voudrais faire une macro qui génère le texte ci-dessous.
A la place des éléments soulignés, je voudrais qu'il y ait les éléments correspondant au salarié et surtout au mois actuel présents sur la feuille "récapitulatif 2024".
De plus, s'il y a des CP, alors ajouter à la ligne du salarié (dans le mail) "du "..." au "..." (et du "..." au "..." s'il y a plusieurs périodes dans le même mois). Les dates sont inscrites sur les feuilles des salariés dans la partie périodes de vacances.
Les salariés ont été renommés par la première lettre de leur prénom pour raison de confidentialité et les macros ne fonctionnent pas car le fichier a été téléchargé.
Merci d'avance !!!
______________________________________________________________________________
Bonjour Madame ***,
Voici ci-dessous les éléments pour les paies de "mois du jour actuel" 2024 :
A : « nombre de tickets » tickets, « nombre de CP » CP
E : « nombre de tickets » tickets, « nombre de CP » CP
G : « nombre de tickets » tickets, « nombre de CP » CP
J : « nombre de tickets » tickets, « nombre de CP » CP
L : « nombre de tickets » tickets, « nombre de CP » CP
M : « nombre de tickets » tickets, « nombre de CP » CP
M2 : « nombre de tickets » tickets, « nombre de CP » CP
N : « nombre de tickets » tickets, « nombre de CP » CP
T : « nombre de tickets » tickets, « nombre de CP » CP
V : « nombre de tickets » tickets, « nombre de CP » CP
Nous restons à votre disposition si besoin.
Bonne journée à vous.
Bien cordialement
______________________________________________________________________________
Bonjour,
Avec le retour des prenoms pour que le code soit plus compréhensible, tu peux avoir un truc comme ça :
J'ai rajouté des colonnes sur certains onglets pour avoir les mêmes données aux meme endroit entre les personnes.
Génére un Mail suivant les données de la feuille Recapitulatif et va chercher les dates de congés payés si besoin dans les autres feuilles.
L'enssemble de mes modifications de code se trouve dans le Module "M_Mail"
A+
Merci beaucoup !
Quand je copie les codes sur le fichier original, la ligne ".BodyFormat = olFormatHTM" empêche l'exécution de la macro, sais tu pourquoi ?
Je ne sais pas pourquoi, tu utilise Outlook ? est-ce que sur le fichier que je t'ai envoyé ça fonctionne ?
Tu peux essayer de changer cette ligne en :
.BodyFormat = 1Oui ton fichier fonctionnait.
Ca marche nickel avec la ligne que tu m'a indiqué !
Merci beaucoup pour tes retours rapides !!!
Après vérification, le mail se génère bien mais il ne met pas les infos des salariés...
il m'affiche juste le texte qui ne change jamais mais le reste est vide.
Oui ton fichier fonctionnait.
Alors il faut garder ".BodyFormat = olFormatHTM" pour que la macro puisse récupérer ta signature
.BodyFormat = olFormatHTM________________________________________________________________________
Après vérification, le mail se génère bien mais il ne met pas les infos des salariés...
il m'affiche juste le texte qui ne change jamais mais le reste est vide.
Quand tu as ajouté la macro sur ton fichier réel, as-tu :
- Glissé le Module "M_Mail" de mon fichier sur le tien ? (ou copier l'enssemble du module sur un module de ton fichier)
- Ajouté une colonne (a coté de la colonne F) sur les feuilles de certain collegues pour que "périodes de vacances" soit toujours sur les colonnes [AG:AJ] ?
(La macro recherche en colonne AH la date de début de vacance pour identifier si elle correspond au mois en cours)
- Sur ton fichier, est-ce que dans la période de vacance il y a bien une formule pour le total de jour ? (car dans ton fichier joint pas de formule colonne AJ)
Si je modifie la feuille de Gregory, ( le 5 n'est pas une formule et ne correspond pas non plus au vrai nombre de jour maiis c'est pour l'exemple)
la cellule total etait toujours a 0, donc la macro ne detecte pas le nombres de congés dans le mois en cours et n'inscrit pas les dates.
Moi, quand je test, j'ai ça :
Modification chez Margot (sans différencier jours ouvré des weekends et jours fériés)
Pour le code, j'ai copier coller celui de ton fichier,
J'ai ajouté des colonnes pour que la zone période de vacances soit en colonnes AG:AJ,
Pour le total des jours il n'y a pas encore de formule a cause de quelques subtilités, mais je vais surement en mettre une par la suite mais ce n'est pas ma priorité pour le moment,
De plus, il faudrait ajouté un salarié, ces informations sont à la suite de Gregory dans la plage V18:X32
J'ai remis la ligne du début
.BodyFormat = olFormatHTMMais le mail se génère toujours sans les infos des salariés :
"Bonjour Madame ***,
Voici ci-dessous les éléments pour les paies de juillet 2024 :
Nous restons à votre disposition si besoin.
Bonne journée à vous.
Bien cordialement,"
Ha ok, donc soit tu n'as pas copié tout le contenu du module "M_Mail", soit ton bouton n'appelle pas la bonne precedure, soit les deux.
________________________________________________________________________
Sache qu'il y a 3 parties dans le module "M_Mail", la partie déclaration de variables et constantes + 2 procédures.
- Les constantes et declarations de variable a mettre au debut (que tu n'as pas du copier avec BodyFormat qui n'avait pas sa constante) :
Option Explicit
' Codes collectés et modifiés par BrunoM45
' https://forum.excel-pratique.Oper/membre/15789
' https://www.excel-pratique.Oper/fr/telechargements/utilitaires/pdf-email-vba-excel-no508
Const olMailItem As Integer = 0
Const olFormatHTML As Integer = 2
Public Ligne_MoisRecap As Byte, Date_CP As String, Ligne As Byte
Public Tickets_Margot As Byte, CP_Margot As Byte, Info_Margot As String
Public Tickets_Nathan As Byte, CP_Nathan As Byte, Info_Nathan As String
Public Tickets_Miguel As Byte, CP_Miguel As Byte, Info_Miguel As String
Public Tickets_Jessica As Byte, CP_Jessica As Byte, Info_Jessica As String
Public Tickets_Gregory As Byte, CP_Gregory As Byte, Info_Gregory As String
Public Tickets_Elea As Byte, CP_Elea As Byte, Info_Elea As String
Public Tickets_Lorraine As Byte, CP_Lorraine As Byte, Info_Lorraine As String
Public Tickets_Alexandre As Byte, CP_Alexandre As Byte, Info_Alexandre As String
Public Tickets_Tristan As Byte, CP_Tristan As Byte, Info_Tristan As String
Public Tickets_Valentin As Byte, CP_Valentin As Byte, Info_Valentin As String
Const Colonne_CP_Debut As Integer = 34
Const Colonne_CP_Fin As Integer = 35
Const Ligne_CP_Debut As Integer = 27
Const Ligne_CP_Fin As Integer = 36- la procedure "M_InfoMail" pour récupérer les éléments (que tu n'as pas du copier):
Sub M_InfoMail()
Ligne_MoisRecap = 3 + Format(Date, "m")
'___________________________________________________________________________________________Margot___________________________________________________________________________________________
Tickets_Margot = Feuil1.Cells(Ligne_MoisRecap, 4).Value
CP_Margot = Feuil1.Cells(Ligne_MoisRecap, 3).Value
Info_Margot = "Margot " & Tickets_Margot & " tickets, " & CP_Margot & " CP"
If CP_Margot > 0 Then
With Sheets("Margot")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Margot = Info_Margot & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Nathan___________________________________________________________________________________________
Tickets_Nathan = Feuil1.Cells(Ligne_MoisRecap, 8).Value
CP_Nathan = Feuil1.Cells(Ligne_MoisRecap, 7).Value
Info_Nathan = "Nathan " & Tickets_Nathan & " tickets, " & CP_Nathan & " CP"
If CP_Nathan > 0 Then
With Sheets("Nathan")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Nathan = Info_Nathan & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Miguel___________________________________________________________________________________________
Tickets_Miguel = Feuil1.Cells(Ligne_MoisRecap, 12).Value
CP_Miguel = Feuil1.Cells(Ligne_MoisRecap, 11).Value
Info_Miguel = "Miguel " & Tickets_Miguel & " tickets, " & CP_Miguel & " CP"
If CP_Miguel > 0 Then
With Sheets("Miguel")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Miguel = Info_Miguel & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Jessica___________________________________________________________________________________________
Tickets_Jessica = Feuil1.Cells(Ligne_MoisRecap, 16).Value
CP_Jessica = Feuil1.Cells(Ligne_MoisRecap, 15).Value
Info_Jessica = "Jessica " & Tickets_Jessica & " tickets, " & CP_Jessica & " CP"
If CP_Jessica > 0 Then
With Sheets("Jessica")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Jessica = Info_Jessica & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Gregory___________________________________________________________________________________________
Tickets_Gregory = Feuil1.Cells(Ligne_MoisRecap, 20).Value
CP_Gregory = Feuil1.Cells(Ligne_MoisRecap, 19).Value
Info_Gregory = "Gregory " & Tickets_Gregory & " tickets, " & CP_Gregory & " CP"
If CP_Gregory > 0 Then
With Sheets("Gregory")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Gregory = Info_Gregory & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Elea___________________________________________________________________________________________
Tickets_Elea = Feuil1.Cells(16 + Ligne_MoisRecap, 4).Value
CP_Elea = Feuil1.Cells(16 + Ligne_MoisRecap, 3).Value
Info_Elea = "Elea " & Tickets_Elea & " tickets, " & CP_Elea & " CP"
If CP_Elea > 0 Then
With Sheets("Elea")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Elea = Info_Elea & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Lorraine___________________________________________________________________________________________
Tickets_Lorraine = Feuil1.Cells(16 + Ligne_MoisRecap, 8).Value
CP_Lorraine = Feuil1.Cells(16 + Ligne_MoisRecap, 7).Value
Info_Lorraine = "Lorraine " & Tickets_Lorraine & " tickets, " & CP_Lorraine & " CP"
If CP_Lorraine > 0 Then
With Sheets("Lorraine")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Lorraine = Info_Lorraine & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Alexandre___________________________________________________________________________________________
Tickets_Alexandre = Feuil1.Cells(16 + Ligne_MoisRecap, 12).Value
CP_Alexandre = Feuil1.Cells(16 + Ligne_MoisRecap, 11).Value
Info_Alexandre = "Alexandre " & Tickets_Alexandre & " tickets, " & CP_Alexandre & " CP"
If CP_Alexandre > 0 Then
With Sheets("Alexandre")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Alexandre = Info_Alexandre & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Tristan___________________________________________________________________________________________
Tickets_Tristan = Feuil1.Cells(16 + Ligne_MoisRecap, 16).Value
CP_Tristan = Feuil1.Cells(16 + Ligne_MoisRecap, 15).Value
Info_Tristan = "Tristan " & Tickets_Tristan & " tickets, " & CP_Tristan & " CP"
If CP_Tristan > 0 Then
With Sheets("Tristan")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Tristan = Info_Tristan & "<font color=""red"">" & Date_CP & "</font>"
End If
'___________________________________________________________________________________________Valentin___________________________________________________________________________________________
Tickets_Valentin = Feuil1.Cells(16 + Ligne_MoisRecap, 20).Value
CP_Valentin = Feuil1.Cells(16 + Ligne_MoisRecap, 19).Value
Info_Valentin = "Valentin " & Tickets_Valentin & " tickets, " & CP_Valentin & " CP"
If CP_Valentin > 0 Then
With Sheets("Valentin")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et Du " & .Cells(Ligne, Colonne_CP_Debut).Value & " Au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Valentin = Info_Valentin & "<font color=""red"">" & Date_CP & "</font>"
End If
M_Bilan_Mail
End Sub- la procedure "M_Bilan_Mail" pour creer le mail (qui est lancé a partir de la procedure "M_InfoMail")
Sub M_Bilan_Mail()
Dim OutApp As Object, OutMail As Object
Dim StrHTML As String, StrSignature As String
On Error Resume Next
On Error GoTo 0
With Application
.EnableEvents = False ' Désactiver les évènements
.ScreenUpdating = False ' Désactiver le rafraichissement
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.BodyFormat = olFormatHTML
.Display ' Afficher le mail pour la signature (si insertion auto)
.To = "Destinataire@fai.fr"
.CC = "LaCopie@fai.fr"
.BCC = "LaCopieCachee@fai.fr"
.Subject = "Info : Paies " & Format(Date, "mmmm yyyy")
StrHTML = "Bonjour Madame ***,<br><br>" _
& "Voici ci-dessous les éléments pour les paies de " & Format(Date, "mmmm yyyy") & " :<br><br>" _
& Info_Margot & "<br>" _
& Info_Nathan & "<br>" _
& Info_Miguel & "<br>" _
& Info_Jessica & "<br>" _
& Info_Gregory & "<br>" _
& Info_Elea & "<br>" _
& Info_Lorraine & "<br>" _
& Info_Alexandre & "<br>" _
& Info_Tristan & "<br>" _
& Info_Valentin & "<br><br>" _
& "Nous restons à votre disposition si besoin.<br><br>" _
& "Bonne journée à vous.<br><br>"
StrSignature = "Bien cordialement,"
.HTMLBody = StrHTML & StrSignature & .HTMLBody
' .Attachments.Add Piece_jointe
.Display 'Save pour brouillon et Send => Pour envoi direct
End With
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing: Set OutApp = Nothing
End SubLe bouton que tu as sur ton fichier réel doit lancer la procedure "M_InfoMail" la procedure du mail se lancera une fois les donnees récupérées.
Merci pour ton retour, entre temps j'ai pu tout corriger avec le peu de connaissance que j'ai, en effet le bouton était pas sur la bonne macro. Certaines infos étaient mélangées entre les salariés, j'ai pu le corriger et ajouter Mohamed.
Je vais essayer d'ajuster les CP pour que quand il n'y en a qu'un afficher juste la date et pas "du **/**/*** au **/**/***" qui sont du coup identiques.
Si besoin je te renvoie un message !
Merci beaucoup pour tes retours ça m'a bien aidé
Alors j'ai réussis à le faire pour un salarié mais quand je modifie tous les codes des autres il me dit erreur de compilation etc.
Le premier code est celui modifié et le deuxième l'original
Tickets_Margot = Feuil1.Cells(Ligne_MoisRecap, 4).Value
CP_Margot = Feuil1.Cells(Ligne_MoisRecap, 3).Value
Info_Margot = "Margot " & Tickets_Margot & " tickets, " & CP_Margot & " CP"
If CP_Margot > 0 Then
With Sheets("Margot")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
Dim DateDebut As String
Dim DateFin As String
DateDebut = .Cells(Ligne, Colonne_CP_Debut).Value
DateFin = .Cells(Ligne, Colonne_CP_Fin).Value
If Date_CP = "" Then
If DateDebut = DateFin Then
Date_CP = " le " & DateDebut
Else
Date_CP = " du " & DateDebut & " au " & DateFin
End If
Else
If DateDebut = DateFin Then
Date_CP = Date_CP & " et le " & DateDebut
Else
Date_CP = Date_CP & " et du " & DateDebut & " au " & DateFin
End If
End If
End If
End If
Next
End With
Info_Margot = Info_Margot & "<font color=""black"">" & Date_CP & "</font>"
End If'___________________________________________________________________________________________Nathan___________________________________________________________________________________________
Tickets_Nathan = Feuil1.Cells(Ligne_MoisRecap, 8).Value
CP_Nathan = Feuil1.Cells(Ligne_MoisRecap, 7).Value
Info_Nathan = "Nathan " & Tickets_Nathan & " tickets, " & CP_Nathan & " CP"
If CP_Nathan > 0 Then
With Sheets("Nathan")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
If Date_CP = "" Then
Date_CP = " du " & .Cells(Ligne, Colonne_CP_Debut).Value & " au " & .Cells(Ligne, Colonne_CP_Fin).Value
Else
Date_CP = Date_CP & " et du " & .Cells(Ligne, Colonne_CP_Debut).Value & " au " & .Cells(Ligne, Colonne_CP_Fin).Value
End If
End If
End If
Next
End With
Info_Nathan = Info_Nathan & "<font color=""black"">" & Date_CP & "</font>"
End IfCe que tu as mis me semble correct mais il faut garder la meme logique et déclarer les variables en haut du module DateDebut et DateFin "Public", ce qui donne :
Public DateDebut As String, DateFin As StringPour la partie des salariés, il faut :
'___________________________________________________________________________________________Margot___________________________________________________________________________________________
Tickets_Margot = Feuil1.Cells(Ligne_MoisRecap, 4).Value
CP_Margot = Feuil1.Cells(Ligne_MoisRecap, 3).Value
Info_Margot = "Margot " & Tickets_Margot & " tickets, " & CP_Margot & " CP"
If CP_Margot > 0 Then
With Sheets("Margot")
Date_CP = ""
For Ligne = Ligne_CP_Debut To Ligne_CP_Fin
If .Cells(Ligne, Colonne_CP_Debut).Value <> "" Then
If Format(.Cells(Ligne, Colonne_CP_Debut).Value, "m") = Format(Date, "m") Then
DateDebut = .Cells(Ligne, Colonne_CP_Debut).Value
DateFin = .Cells(Ligne, Colonne_CP_Fin).Value
If Date_CP = "" Then
If DateDebut = DateFin Then
Date_CP = " le " & DateDebut
Else
Date_CP = " du " & DateDebut & " au " & DateFin
End If
Else
If DateDebut = DateFin Then
Date_CP = Date_CP & " et le " & DateDebut
Else
Date_CP = Date_CP & " et du " & DateDebut & " au " & DateFin
End If
End If
End If
End If
Next
End With
Info_Margot = Info_Margot & Date_CP
End Ifet pour la partie Info_salarié, tu peux supprimer la couleur que tu as changé de red a black
Info_Margot = Info_Margot & Date_CP
'Ctrl + H
'===> remplacer : "<font color=""black"">" & Date_CP & "</font>"
'Par
'===> Date_CP Il te reste a modifier ces lignes (sur chaque salariés) :
Par :
DateDebut = .Cells(Ligne, Colonne_CP_Debut).Value
DateFin = .Cells(Ligne, Colonne_CP_Fin).Value
If Date_CP = "" Then
If DateDebut = DateFin Then
Date_CP = " le " & DateDebut
Else
Date_CP = " du " & DateDebut & " au " & DateFin
End If
Else
If DateDebut = DateFin Then
Date_CP = Date_CP & " et le " & DateDebut
Else
Date_CP = Date_CP & " et du " & DateDebut & " au " & DateFin
End If
End IfResultat :
Tout fonctionne !
Normalement le fichier est finalisé, merci beaucoup de m'avoir aidé !!!
Bonne après-midi à toi !