Envoyer seulement 1 feuille !

Résolu/Fermé
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 - 22 mars 2011 à 14:44
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 - 25 mars 2011 à 19:11
Bonjour,

J'ai cherché sur bcp de discussions la réponse mais je ne l'ai jamais trouvée, pouvez vous m'expliquer comment dois-je faire pour n'envoyer qu'une feuille ou deux de mon classeur avec cette macro :

Sub EnvoiMail()
Workbooks("Classeur2.1").SendMail Recipients:=[A1].Value, _
Subject:="envoie dossier", _
ReturnReceipt:=True
End Sub

Il doit y avoir une écriture spécifique pour mentionner seulement une feuillle au lieu du "classeur2.1"

Merci à tous

27 réponses

Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 22/03/2011 à 15:01
Re,

Pourquoi ouvres tu plusieurs discussions sur le même sujet, reste sur celui ouvert précédemment
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
22 mars 2011 à 15:02
Re,

comme tu as fermé l'autre discussion voilà le code pour envoyer la feuille active par mail

Sub EnvoiMail()
ActiveSheet.Copy
ActiveWorkbook.SendMail Recipients:=[A1].Value, _
Subject:="envoie dossier", _
ReturnReceipt:=True
End Sub
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
22 mars 2011 à 15:27
ActiveSheet.Copy
ActiveWorkbook.SendMail Recipients:=[A1].Value, _

Re,

[A1] représente la feuil 1 ??
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
22 mars 2011 à 15:31
Je suis desolé de te poser tant de question mais merci bcp, ta solution pour le problème precedent est bonne mais je rencontre un petit problème auquel je n'avais pas pensé...

mon menu déroulement marche trés bien, et l'envoie se fait à la bonne adresse pour la première ligne cependant à la ligne suivante, si je change d'adresse le mail s'envoie à l'adresse précèdente puisque la formule est figée sur la première adresse.

tu comprends ?
0

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

Posez votre question
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
22 mars 2011 à 15:43
Re,

tu dois avoir chevauchement de données,

ta liste d'adresses est dans quelle plage !
ta liste déroulante dans quelle cellule !
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
22 mars 2011 à 15:52
j'ai tout mis sur la meme page, mes adresses sont cellules J12 à J14 et ma liste déroulante est de f4 à f6 mais ca va aller bcp plus loin.


C'est quoi chevauchement de donnée ?
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
22 mars 2011 à 15:59
Re,

Ta liste d'adresse en J12 à J14 ok, (cela fait que trois adresses)

ta liste déroulante doit être que dans une cellule exemple F4

et donc ton code doit faire référence à la cellule F4

Sub EnvoiMail()
ActiveSheet.Copy
ActiveWorkbook.SendMail Recipients:=[F4].Value, _
Subject:="envoie dossier", _
ReturnReceipt:=True
End Sub
0
Merci, je suis plus à mon bureau j'essayerai demain je te remercie
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
23 mars 2011 à 08:05
Bonjour j'ai modidié ma macro en rejoutant ce que tu m'a mis mais un message d'erreur s'affiche " impossible d'executer le code en mode arret "
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
23 mars 2011 à 10:54
Re,

Le code à planté parce qu'une erreur s'est produite causé certainement par un erreur lors de la modification. pour réactiver le code deux solutions

redémarre Excel
ou
dans le visual basic editor fais
Exécution/Réinitialiser

si ton code plante poste ta macro ou le fichier sinon je te ferai un modéle
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
Modifié par kgigant le 23/03/2011 à 11:21
non ca ne marche, le mail est toujours envoyé au premier contact ( [f4] ) de la formule.

tu comprends mon problème ?

Sub EnvoiMail()
Workbooks("Classeur2.1").SendMail Recipients:=[F4].Value, _
Subject:="envoie dossier", _
ReturnReceipt:=True
End Sub

voila ma macro
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
23 mars 2011 à 13:29
Re,

je suis pris pour l'après midi, dès ce soir je te fais un modéle
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
23 mars 2011 à 13:40
merci bcp
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
23 mars 2011 à 22:49
Re,

Vite fait, deux exemples feuille 1 et 2

http://cjoint.com/?1dxwV7vYMGH
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
24 mars 2011 à 08:18
Merci, tu as l'air d'avoir trouvé la solution, mais j'aimerai comprendre la macro,

Private Sub CommandButton1_Click()
ActiveSheet.Copy
ActiveWorkbook.SendMail Recipients:=[F4].Value, _
Subject:="envoie dossier", _
ReturnReceipt:=True
ActiveWorkbook.Close False
Application.DisplayAlerts = False
[F4].ClearContents
End Sub

Parce ce que dans ton exemple tu envoie une valeur de la feuille1 mais moi je cherche envoie une toute la feuill2 (puisque j'aurai une grande plage de valeur)
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
24 mars 2011 à 08:28
Re,

Avec le VBA, il faut être très précis,

le bouton de commande macro est sur quelle feuille (donne le numéro ou le nom)

l'adresse mail en F4 est sur quelle feuille (donne le numéro ou le nom) (éventuellement, tu peux nommer la plage ex. Adress)

pour envoyer la feuille 2 ou tout autre feuille n'est pas un problème
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
24 mars 2011 à 08:48
tu as raison, je débute dans la macro je manque de précision.

Oublions l'adresse mail ! j'ai une maco sur la feuille 1 qui créer un message et insère une pièce jointe. Idéalement cette pièce jointe est la feuille 2 de mon classeur cependant je n'arrive pas à envoyer que la feuille 2, donc j'envoie tout le classeur à chaque fois.

C'est plus compéhensible ??
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
24 mars 2011 à 10:21
Re,

sur le lien ci dessous deux exemples feuille1 et 3, le code envoi la feuille 2 soit depuis le feuille 1 ou 3 mais peut être envoyé directement depuis la feuille 2 en modifiant le code

http://cjoint.com/?1dyktvFrLZn
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
24 mars 2011 à 13:07
re, je viens de voir ton document ça ressemble fortement à ce que je te demande et je t'en remercie.


J'ai du changer un peu mon idée de base ( la simplifier), désormais j'appuye sur le bouton "envoyer" situé feuille1.
Ensuite la fenetre outlook message s'ouvre (sans destinataire) avec en pièce jointe la feuille 2 du classeur.

Tu as compris ?
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
24 mars 2011 à 13:45
Re,

Si je comprends bien, tu veux que la fenêtre d'envoi s'ouvre sans destinataire

Private Sub CommandButton1_Click()
Sheets("Feuil2").Copy
ActiveWorkbook.SendMail Recipients:="", _
Subject:="envoie dossier", _
ReturnReceipt:=True
ActiveWorkbook.Close False
Application.DisplayAlerts = False
[F4].ClearContents
End Sub
0