Recherche adresse email

Bonjour,

Après de nombreuses recherches et débutant en vba je me vois confronté à un petit problème que je n'arrive pas à résoudre.

J'ai un fichier excel qui contient plusieurs feuilles dont les feuilles suivantes:

  • Actions en cours
  • Paramètres

Dans la feuille "actions en cours", j'ai une liste de tâches à réaliser. Chaque tâche est associée à une personne. A côté de ce tableau mais toujours sur la feuille j'ai un filtre type "segment" qui me permet de filtrer les actions de chaque personnes. Autrement dit, le segment contient le nom des personnes.

Dans la feuille paramètre, j'ai dans la colonne D le nom des personnes (les noms sont identiques à ceux du filtre segment). En face de chaque nom, en colonne E se trouve l'adresse mail associée au nom.

Ce que je voudrais faire, c'est en fonction du nom sélectionné dans le filtre segment de la feuille "Action en cours", aller chercher le même nom dans la colonne D de la feuille "Paramètres" et copier l'adresse mail associée en colonne E pour insérer cette adresse dans mon mail comme destinataire.

J'ai donc bidouillé le bout de code ci-dessous et le problème se trouve entre les pointillés. Pour information, la séquence est déclenchée via un bouton placé sur la feuille "Actions en cours"

Sub Recherche mail()

Dim NomPersonne As String

Dim Ref As String

Dim l As Long

Dim i As Long

Dim Destinataire As string

For Each Item In ThisWorkbook.SlicerCaches(1).SlicerItems

If Item.Selected Then NomPersonne = Item.Name

Next

(Prob)................................................................................................

While Ref = NomPersonne

Sheets("Consignes & Liste menus").Activate

Cells.Find(What:=Ref).ActiveCell

l = ActiveCell.Row

i = ActiveCell.Column

Destinataire = Cells(l, i.Offset(, 1)).Value

Wend

(Prob)..................................................................................................

Set olApp = CreateObject("Outlook.application")

Set m = olApp.CreateItem(olMailItem)

With m

.Subject

.To = Destinataire

End With

End Sub

Merci pour votre aide

Bonjour, et

si je comprends bien, il s'agit de trouver une valeur

pourquoi faire un while / wend alors que le find le fera selon les paramètres indiqués dans le find

voici un exemple assez complet duquel tu peux tirer la solution

Sub rechercheadresse()

Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String

Valeur_Cherchee = "XXXX"
Set PlageDeRecherche = Sheets("data").Cells
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
If Trouve Is Nothing Then
    MsgBox Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
    MsgBox Valeur_Cherchee & " est présent en " & Trouve.Address & ", ligne = " & Trouve.Row & " , colonne = " & Trouve.Column
End If

Set PlageDeRecherche = Nothing
Set Trouve = Nothing

End Sub
Rechercher des sujets similaires à "recherche adresse email"