Filtrer liste avant send

Bonjour le Forum !

Cela fait une semaine que je suis sur une macro...

Je suis actuellement en train de travailler sur une macro qui génère un email à une liste définie de personne.

Les attentes :

1- Je clique sur le bouton un menu déroulant s'affiche

2- Je sélectionne un Service "X" par exemple

3- Il envoie l'onglet "Renouvellement" dans le fichier "FICHIERAENVOYE" à toutes les adresses mails qui se trouvent dans l'onglet X du fichier "Zones de service" en filtrant avant la colonne H avec le service X et la colonne K avec les zones nécessaires

J’espère qu’avec le fichier ci-joint tout est expliqué

Je vous remercie d'avance


avec le bon fichier

le forum

pas des idees ?

ou des liens qui peuront m'aider ?

des macros a adapte peut etre ?

Bonsoir

toujours pas de solution

un code que j'avais commencer

c'est partie rouge qui bug !

'**********************************************************************

Sub envoi_mail(nom_chantier As String)

Dim fintab As Long

Dim OutApp As Object

Dim OutMail As Object

Dim strbody As String

Dim olFormatHTML As String

Dim i As Integer

Dim j As Integer

Dim a As String

Workbooks.Open Filename:= _

"\\M:\ENVOI MAIL\Zones de service.xls", ReadOnly:=True

Windows("Zones de service.xls").Activate

For i = Sheets.Count - 1 To 1 Step -1

a = Sheets(i).Name

If nom_chantier = a Then

Sheets(a).Select

dli = Cells(Rows.Count, 1).End(xlUp).Row

With ActiveSheet.Sort

.SortFields.Clear

.SortFields.Add Key:=Range("E2:E" & dli) _

, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

.SetRange Range("A2:E" & dli)

.Header = xlYes

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

DerCell = Range("E3").End(xlDown).Address

fintab = Range(DerCell).Row

For j = 3 To fintab

If Sheets(a).Cells(j, 5) <> "" Then

Windows("FICHIERAENVOYE.xls").Select

Sheets("Renouvellements").Select

Selection.AutoFilter Field:=8, Criteria1:=a

Selection.AutoFilter Field:=11, Criteria1:=Windows("Zones de service.xls").Sheets(a).Cells(j, 5).Value

Set OutApp = CreateObject("Outlook.Application")

OutApp.Session.Logon

Set OutMail = OutApp.CreateItem(0)

strbody = "Information sur la mise à jour"

With OutMail

.To = Sheets(a).Cells(j, 5).Value

.CC = ""

.BCC = ""

.Subject = "Suivi opérateurs en Autocontrôle"

.HTMLBody = "Bonjour, ....."

.Attachments.Add ("\\caracas\qualif_op\Personnel_Controle\Autocontrôle\Indicateurs de suivi Autocontrôle\Affichage suivi renouvellement Autoc\Suivi_autocontrole.xlsx")

.Send

End With

Set OutMail = Nothing

Set OutApp = Nothing

End If

Next j

End If

Bonsoir,

Toujours pas des solutions, des conseils ?

Merci

Salut Supzak,

Tu as posté une demande et tout juste deux heures plus tard tu envoies déjà un deuxième message afin de dire que ça ne vas pas assez vite !! Je pense que tu devrais être un peu plus patient. La multiplication des messages par la suite apporte encore moins !

Ensuite, en plaçant une ‘réponse’ sur ton propre fil, tu désintéresses tous les membres qui vont consulter la liste des ‘Messages sans réponse’ afin de voir qui a encore besoin d’aide.

Puis tu nous fournis des fichiers en grande quantité – parfois il vaut mieux faire les choses calmement et ne pas embrouiller les autres avec trop d’imprécisions – et on nage un peu. Ceci d’autant plus que selon ce que j’ai pu voir rapidement, aucun de tes fichiers ne comporte la macro fournie encore plus tard.

J’ai bien essayé de remettre ta macro dans l’un de tes fichiers, mais cette macro est incomplète ; que manque-t-il exactement ? La dernière ligne seulement ou 50 lignes importantes ?

Remets les choses à zéro, fournis-nous à nouveau les fichiers nécessaires – et ceux-ci uniquement – en contrôlant bien qu’ils soient complets, y compris les macros.

Cordialement.

Bonjour Yvouille,

Je te remercie beaucoup avant tout

Pour bien expliquer Je prends une zone comme exemple :

La zone "Echelle Structure LLV" qui se trouve dans l'onglet "OPPB" du classeur "Zone de service" colonne C:

Je voudrais envoyer l'onglet " Renouvellement" du classeur "Fichieraenvoye" filtrer avec OPPB dans la Colonne 'H' et avec le zone "Echelle Structure LLV" dans le colonne 'K' à tous les mails dans le colonne E d'onglet "OPPB" ayant comme zone "Echelle Structure LLV"

Ci-joint de nouveau le fichier "FICHIERAENVOYE" avec 2 code différents (module2 et module3, Ces deux module pour le meme fonctionnement, c'est l'un soit l'autre) commentés a modifier

j'espere que j'etais plus claire

15fichieraenvoye.xlsm (69.55 Ko)

Cordialement.

Re,

Ta demande n’est vraiment pas évidente. Tout d’abord tu as des chemins propres à ton ordinateur qu’il faut ‘magouiller’ afin de pouvoir faire des essais chez moi.

Ensuite tu as fourni des fichiers minimalistes dans lesquels il n’y a presque pas de données simulées. Ainsi les feuilles ‘OPPA’, ‘OPFR’ et ‘OPPB’ du fichier ‘FICHIERAENVOYE’ sont absolument vides !! Deux ou trois données exemples par feuille n’auraient pas dérangé.

Ensuite si je lance ton code ‘envoi_mail1’, il ouvre le fichier ‘Zones de service.xls’ et – alors que ce fichier ouvert comme sur l’image ci-dessous – la ligne de code marquée en jaune également sur l’image ci-dessous devrait comparer différentes lignes dans la colonne E de la feuille de ce fichier visible à l’écran.

Tu as placé également à cet endroit du code le commentaire suivant :

'************************************************************************************************

' c 'est possible de metre ici un code qui filtre le fichier ("Renouvellement") à envoyer avant l'envoi

'*******************************************************************************************************

mais je ne peux pas savoir si c’est un commentaire à ton attention ou à la mienne ?? Comme il n’y a pas de point d’interrogation, je présume que ce n’est pas une question qui m’est adressée.

Je bloque alors à ce point-là car tout d’abord je ne sais pas ce qui devrait être comparé dans cette colonne E (il n’y a aucun exemple) et je ne sais pas ce que tu voudrais à la place ou en plus.

Ne comprenant pas où tu veux en venir avec ce premier code, je n’ai pas été voir le second !!

Ne place si possible pas de commentaire dans le fichier Excel ou dans l’explorateur VBA ; on ne sait jamais si ça nous est adressé ou non. Inscrit tes instructions EXCLUSIVEMENT sur ton fil.

Cordialement.

90

Salut,

supzak a écrit :

Bonjour Yvouille

Je suis très désole car je n’arrive pas à bien t'expliquer

Je te remercie 100000 fois pour le temps que tu me l'as donné

J’espère que avec le fichier ci-joint j'ai bien explique

Bonne journée

Amicalement.

Merci déjà de rester sur le Forum et de ne pas passer en privé.

Je t’avais dit qu’il valait mieux placer toutes tes explications sur ton fil car on a ainsi plus facilement l’historique. Si après 3 ou 4 messages on se demande ce que tu avais dit une fois plus vite, on retrouve facilement les informations. Si tu places tes éclaircissements dans des fichiers joints – que ce soit des fichiers Word ou Excel – il faut les ouvrir tous afin de savoir où se trouve l’info recherchée. Tu imagines un peu la chose si, en plus, il faut naviguer entre ton fil et les messages privés

J’ai quand même consulté ton fichier Word et je dois une fois de plus te dire que tu me compliques passablement la tâche. Je devrais maintenant reproduire tes saisies visibles sur des images dans Word sur tes fichiers Excel afin de pouvoir avancer. Est-ce vraiment mon boulot ?

Et puis je ne sais plus si c’est la macro 1 ou la macro 2 qu’il faut utiliser, etc. ; je suis largué.

On est très mal parti sur ce fil et ne verrai pas d’un mauvais œil d’abandonner, te laissant repartir sur un nouveau fil et sur de nouvelles bases plus saines.

Mais si vraiment tu trouves que c’est un peu salaud de ma part de t’abandonner maintenant, je veux bien revenir sur ton problème à condition que tu me fournisses à nouveau les deux ou trois fichiers nécessaires à ta demande mais d’une manière nettoyée, c’est-à-dire avec uniquement les macros nécessaires à résoudre ton problème, avec peu de données mais utilisables, etc. Inutile de me redonner toutes les explications si tes explications du fichier Word concordent avec tes nouveaux fichiers Excel. Sinon, redonne-moi les explications nécessaires selon tes nouveaux fichiers.

Vu mon expérience sur le Forum, je peux quand même te dire que j’ai souvent pu résoudre des problèmes lorsque les explications nécessaires m’étaient finalement données

A te relire ??

10explication.docx (102.09 Ko)

Salut Yvouille,

Merci Vraiment pour le temps que tu m'e la donne.

Je veux essayer de prendre en compte tes conseils.

Amicalement

Rechercher des sujets similaires à "filtrer liste send"