Envoyer seulement 1 feuille !

Résolu
kgigant Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

27 réponses

Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   9
 
ActiveSheet.Copy
ActiveWorkbook.SendMail Recipients:=[A1].Value, _

Re,

[A1] représente la feuil 1 ??
0
kgigant Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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
kgigant
 
Merci, je suis plus à mon bureau j'essayerai demain je te remercie
0
kgigant Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   9
 
merci bcp
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Vite fait, deux exemples feuille 1 et 2

http://cjoint.com/?1dxwV7vYMGH
0
kgigant Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   9
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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