Envoie mail via Excel et mise en forme conditionel

Bonjour,

je suis en train de réaliser un fichier excel mer servant a réaliser un rapport journalier dont j'envoie deux syntheses differente par mai.

après de nombreuses recherche j'ai reussi a effectuer l'envoie de mes deux différents tableaux par mail via excel.

j'ai ensuite voulu rajouter des mises en forme sur un tableau et là !! surprise plus rien ne marche, quand je lance ma macro qui effectue un filtre avancé puis l'envoie de mail celle ci "plante" avant l'envoie du mail c'est a dire que le fichier excel se ferme puis se reouvre et je dois refermer outlook via le gestionnaire de tache.

Si j'execute cette macro en mode debeug pas a pas ( F8) tout se passe bien

j'ai essaye d'ajouter une temporisation mais même résultat

j'ai effacer mes mises en forme conditionnel ca marche

j'ai effectue mes mise en forme conditionnel en VBA dans le lancement de ma macro mais elles se recrée a chaque lancement de la macro je pensais quelle s'effectuaient seulement une fois.

avez vous un idee ?

j’espère avoir ete clair

merci

Bonsoir mcyanick,

Je n'ai absolument aucune idée. Difficile sans codes ou fichiers.

Je pense que cela vient du code qui ne doit pas être tout à fait "propre".

Je te conseil de regarder ce fichier de Bruno qui pourrait t'aider à bien coder ta macro !

Est-ce que ça pourrait t'aider ?

Baboutz

merci baboutz

je viens de le recuperer je vais jeter un oeil.

par contre j'effectue une copie d'ecran je ne genere pas un PDF

voici ma macro

Private Sub BtnEnvoie_Click()
'***************************************************************
'             envoie mail en production
'***************************************************************

Range("F7").Select
Call ouvertureoutlook
Call selecttabprod

With Selection.Parent.MailEnvelope.Item
    .To = Feuil2.Range("P72").Value
    '.CC = Feuil2.Range("N63").Value
    .Subject = Feuil2.Range("N64").Value
    .Display
    .send

End With

'sh.Range("A1").Select
Application.ScreenUpdating = True
ActiveWorkbook.EnvelopeVisible = True
MsgBox "Message envoyé"
ActiveWorkbook.EnvelopeVisible = False
ActiveWorkbook.Save

Feuil1.Select          'selection de la feuille principal

End Sub

Call ouvertureoutlook

test si outlook est ouvert

Call selecttabprod

ouvre l'onglet effectue le filtre avancé et les fameuses mise en formes conditionnel,effectue le selections des cellules remplies

Regarde le fichier que je t'ai envoyé, un PDF est quand même plus pratique...

Il me faudrait un fichier anonymisé pour t'aider un peu plus

voici le fichier (pas tres propre)

envoie mail prod marche (peu de mise en forme je pense)

envoie mail maint plante c'est vraiment cette onglet qui plante l'envoie si j'executela macro avec l'utre onglet ca marche

merci pour l aide

Outch... Sacré jungle le fichier

J'ai quelques questions :

  1. Pourquoi avoir des macros de filtrages dès qu'on clique dès que la feuille PROD ou MAINT est active ?
  2. Tu as des macros 'FiltrerINJ' ; 'FiltrerECA', 'FiltrerBUSE' ; Tu t'en sers où ? Car tu ne fais jamais appelle à elles
  3. Que veux tu faire exactement avec tes boutons 'Envoie mail prod' et 'Envoie mail maint' ?

Il faut également faire le tri ! J'ai l'impression qu'il y a pleins de bouts de macro qui ne te servent pas.

Conseils :

  1. Il faut donner un nom à tes tableaux (Via gestionnaire de noms) ! Actuellement ils s'appellent Tableau1, Tableau5 et Tableau6 et si on ne clique pas dessus on ne sait pas à quoi ils font références. (Point positif : tu as utilisé des tableaux structurés : chapeau !)
  2. Renomme tes modules, comme ça on sait à quoi ils font références.

oui c'est un fichier que j'avais fais avec des filtres avance pour autre chose que j'ai reutilise ( les nom correponde pas forcement) de plus j'ai vire les onglets pour le forum.

1. je lance les macros de filtae pour que les onglets s'actualise a leur ouvertures

2.je les appellais sur les onglets que j'ai vire

3. avec les bouton j'envoie la selection de l'onglet prod a une liste de diffusion et idem pour l autre

merci pour les conseils

mes codes sont un peu brouillon oui

Bonsoir mcyanick,

Désolé j'ai moins de temps en ce moment.

Voici ton fichier dans lequel j'ai créer un module (EnvoiMail) qui marche pour l'onglet Maintenance. Il te suffit de l'adapter selon tes désirs, puis d'affecter la macro à ton bouton. Sache qu'en étant un peu malin, tu n'as besoin que d'une macro légèrement adapté et qui fonctionnerait pour les deux feuilles.

J'ai également renommé tes tableaux de la feuille PROD et MAINT (Tbl_PROD et Tbl_MAINT).

Cela te convient ?

Bonne soirée !

Baboutz

bonsoir baboutz,

Je peu pas regarder ce soir, mais en tout cas merci pour tout

J,ai hâte de voir ta solution !

Du coup tu as réussi à identifier ou mon code foirait?

Merci

J'ai pas essayé, pour moi il faudrait que tu supprimes certaines macros ou que tu modifies l'utilisation de ton fichier. Du coup j'ai juste créé une macro d'envoie de mail avec tableau, tu la regarderas et tu me feras un retour ;)

Sache que chez moi, tes macros de tris ne fonctionnait pas et créaient un pb

bonsoir,

merci Baboutz ca ressemble se que j'avais fait en prenant modele le le fichier envoie mail present sur le forum.

j'ai reussi a le faire en selectionant uniquement la partie de mon onglet qui m'interesse .

je voulais pas partir d'un fichier jpint mais d'une copie visible directement dans le corp du mail.

je vais continuer a creuser voir si je trouve la solution.

merci

Tu pourrais me montrer une capture d'écran de ce à quoi ressemblait le corps de ton mail avant ?

bonsoir,

je n'ai pas oublie mon sujet !! :-)

Baboutz je n'ai pas compris ce que tu voulais en capture d'ecran.

Salut !

Tu m'as dit qu'avant tu avais une copie directement visible dans le corps du mail :

je voulais pas partir d'un fichier jpint mais d'une copie visible directement dans le corp du mail.

J'aimerai bien avoir une capture d'écran de ça, voir à quoi ressemble une copie d'écran dans le mail

As-tu réussi à adapter mon code à ton besoin ?

Ok je te montrerai

La je peu pas

En fait je par rapport à ton code je créé 2 pdf différent mais pas l’onglet complet une sélection du tableau que j’archive dans un dossier et que j’envoie par mail

me revoila desole la semaine est chargee !!

pour voir a quoi ca ressemble tu peu desactiver les MFC du tableau maint et executer l'envoie mai

Rechercher des sujets similaires à "envoie mail via mise forme conditionel"