Macro récupérant adresse mail dans cellule Excel

Résolu/Fermé
anizzz
Messages postés
17
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
20 novembre 2014
- 30 sept. 2014 à 13:42
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
- 7 oct. 2014 à 14:50
Bonjour ! :)

J'ai la macro suivante permettant d'envoyer une feuille excel à une personne. La macro fonctionne et envoie ma feuille au destinataire dont j'indique l'adresse mail. Je voudrais que ma macro aille récupérer l'adresse mail dans une cellule et l'applique à la macro.



Sub SendMail()

' Copy the sheet(1.5)
ThisWorkbook.Sheets(1.5).Copy

' Send Email
With ActiveWorkbook
.SendMail Recipients:=Array("....@....com"), Subject:="DMS" & Format(Date, "dd/mmm/yy")
.Close SaveChanges:=False
End With

End Sub



Ceci afin d'éviter à l'utilisateur de modifier la macro à la main. Les différentes adresses seront listées et il choisira celle qu'il veut utiliser.

Est-ce possible ?

Si quelqu'un pouvait m'aider ce serait super ! Merci d'avance ! :)


12 réponses

Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
30 sept. 2014 à 21:59
Bonjour,
Juste au passage sans avoir testé.
Les adresses courriels se trouvent dans la plage A2 :A10 par exemple.
Partie du code :
.........
For Each adrc In Range("A2:A10") ' endroit ou se trouve vos adresse courriel
With ActiveWorkbook
.SendMail Recipients:=adrc, Subject:="DMS" & Format(Date, "dd/mmm/yy")
.Close SaveChanges:=False
End With
Next adrc
..........
0
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
30 sept. 2014 à 22:51
Bonjour,
J'ai mal interprété l'explication.
Il faut créer une liste déroulante (par exemple en D1) et vous lui donnez comme référence la plage A2 :A10 et ainsi l'adresse est choisie en [D1] et dans votre code la ligne :
.SendMail Recipients:=Range("D1").Value ....

0
anizzz
Messages postés
17
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
20 novembre 2014

1 oct. 2014 à 12:08
Bonjour,

Merci ce code fonctionne mais j'aimerais que le mail soit envoyé à l'adresse que j'aurais sélectionnée dans ma liste et pas à toute la liste. Je ne vois pas comment faire pour indiquer que j'ai sélectionné une adresse et que je veux que ce soit celle-ci qui soit utilisée. Le numéro de cellule change selon l'adresse que je choisis ( logique ) donc je ne peux pas noter un seul numéro de cellule...

Voici mon code :


Sub SendMail2()
' Copy the sheet(1)
ThisWorkbook.Sheets(1.5).Copy

' Send Email
For Each adrc In Range("B28:B30") ' endroit ou se trouve vos adresse courriel
With ActiveWorkbook
.SendMail Recipients:=adrc, Subject:="DMS" & Format(Date, "dd/mmm/yy")
.Close SaveChanges:=False
End With
Next adrc

End Sub


Merci d'avance et bonne journée :)
0
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
1 oct. 2014 à 13:54
Bonjour,
Avez-vous bien lu mon deuxième message.... ?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
1 oct. 2014 à 22:45
Bonjour,
Je ne sais pas comment et organisée votre application, donc difficile de ...
Pouvez-vous mettre le fichier comme exemple sur https://www.cjoint.com/ et poster le lien ?

0
anizzz
Messages postés
17
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
20 novembre 2014

2 oct. 2014 à 11:21
Bonjour,

Merci pour vos réponses. Mes besoins ont changés, je voudrais que ma macro s'adapte quand je change le numéro de feuille à envoyer. Je vous ai mis mon fichier excel sur ce lien :

https://www.cjoint.com/?0JclvgU8bL6
J'espère qu'il fonctionne !

Bonne journée ! :)
0
anizzz
Messages postés
17
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
20 novembre 2014

2 oct. 2014 à 11:23
http://cjoint.com/data/0JclAB6hKej.htm
0
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
2 oct. 2014 à 16:09
Bonjour,
Merci pour le fichier.
Problème fibre optique, une réponse demain matin..... !

0
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
2 oct. 2014 à 22:08
Bonjour,
Mais ou sont les adresses courriels...... ?
En plus : People 1 correspond toujours à carte 7 et ainsi de suite Oui / Non ?

0
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
2 oct. 2014 à 23:20
Bonjour,
Pas de nouvelle ..., alors voici ma proposition : https://www.cjoint.com/?3JcxwI96odz
0
anizzz
Messages postés
17
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
20 novembre 2014

7 oct. 2014 à 09:11
Bonjour, Merci pour tes réponses! :)

Pour répondre à ta question, les numéros de cartes assignés aux auditeurs changent. La macro que tu m'as envoyée fonctionne mais envoie la carte 2 quand je demande la 4, certainement parce que la carte 2 se trouve dans la 4ème feuille. Comment modifier cela ?

Aussi comment faire pour dupliquer cette macro sur les autres lignes de mon tableau? Je voudrais savoir si c'est possible de faire encore plus rapide : Avoir une seule macro qui envoie à tous mes auditeurs les cartes qui leurs sont destinées ?

Merci beaucoup et bonne journée !
0
Le Pingou
Messages postés
11006
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2022
1 279
7 oct. 2014 à 14:50
Bonjour,
La macro que tu m'as envoyée fonctionne mais envoie la carte 2 quand je demande la 4, certainement parce que la carte 2 se trouve dans la 4ème feuille.

Ce que vous dite est faux car : avec toutes les explications manquantes j'ai pris pour acquis que le numéro de la carte correspondait au numéro de la feuille soit pour le Peopel 3 carte 4 correspond la feuille 4 du classeur ave Peopel 2 carte 2 la feuille 2 et ainsi de suite.

Aussi comment faire pour dupliquer cette macro sur les autres lignes de mon tableau?

Note : le choix se fait sur la feuille [EnvoiChoix] via la liste déroulante qui a comme référence le tableau de la feuille [tableau]. Donc une macro pour le tout.

Je voudrais savoir si c'est possible de faire encore plus rapide : Avoir une seule macro qui envoie à tous mes auditeurs les cartes qui leurs sont destinées ?
Là vous tournez en rond car je vous l'avais proposé la première fois avec comme résultat ...... mais j'aimerais que le mail soit envoyé à l'adresse que j'aurais sélectionnée dans ma liste et pas à toute la liste.

Salutations.
Le Pingou
0
anizzz
Messages postés
17
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
20 novembre 2014

7 oct. 2014 à 10:41
Mon problème est résolu ! :)
0