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
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.
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 ??
Salut Yvouille,
Merci Vraiment pour le temps que tu m'e la donne.
Je veux essayer de prendre en compte tes conseils.
Amicalement