Excel

Loulyn -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Comment peut-on faire pour envoyer par mail en pièce jointe une seule feuille d'un classeur excel ?
Tout le classeur je sais faire mais je n'ai pas trouvé pour une seule page.

Merci à ceux qui voudront bien m'éclairer.
Et tous mes meilleurs voeux.

13 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Dans un premier temps teste le fichier joint, pour les explications on verra plus tard.

    Le fichier joint envoi depuis la feuille2, par ex. la feuille1 directement en format PDF sans passer par une messagerie. Si problème il faudra activer la macro complémentaire Microsoft CDO for Exchange 2000 Library mais on verra à l'usage
    Lorsque tu clic sur le bouton, la feuille 1 est copiée au format PDF dans le même répertoire que le fichier. Une fois expédiée la feuille est supprimée et un message averti que l'envoi à bien été opéré

    https://www.cjoint.com/?BAhoBoWivJT
    --
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    1
    1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      Bonjour Mike-31,
      Je profite de votre excellent exemple.
      Merci.
      Salutations.
      Le Pingou
      0
    2. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      Bonsoir Mike-31,
      J'ai essayé votre solution mais j'ai un message (Le serveur à rejeté une ou plusieur adresses de destinataires).
      J'utilise La messagerie Windows Live Mail, est-ce que le problème vient de là ... !
      Ou dois-je chercher pour corriger le problème ?
      Merci.
      Salutations.
      Le Pingou
      0
  2. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Tout simplement en copiant la feuille souhaitée dans un nouveau classeur qu'il vous suffira d'envoyer.
    Pour copier la feuille : clic droit sur l'onglet de la feuille à envoyer et clic [Déplacer ou copier]
    Sous [Dans le classeur :] choisir (nouveau classeur) et cocher la case [Créer une copie] puis sur OK.
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut le fil,

    Ou en VBA si tu as quelques notions et en étant précis sur tes attentes Nom de la feuille à expédier ou de la plage et souhaites tu que l'envoie de cette feuille conserve le format Excel ou en PDF ce qui protégera les données.
    L'envoi peut se faire via une messagerie comme Outlook ou directement en CDO plus rapide
    0
    1. Loulyn
       
      J'avais bien pensé à la solution que me propose "Le Pingou" mais on ne sait pas si les personnes ont excel.
      Merci pour ta solution en PDF, c'est exactement ce qu'il me fallait.
      Par contre je ne sais pas ce qu'est le VBA, peux-tu m'expliquer ?
      Merci
      0
    2. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      Bonjour,
      Merci.
      Je pense que Mike-31 (amicales salutations) se fera un plaisir de vous l'expliquer.
      Salutations.
      Le Pingou
      0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Windows Live n'y est pour rien, ouvre mon fichier et en B3 saisi ton adresse mail de sorte à recevoir en retour le fichier et en C1 saisi SMTP.free.fr si ton fournisseur d'accès est free ou SMTP.orange.fr s'il s'agit d'orange etc...
    si le code plante va dans le visual basic Outils/Références et coche
    Microsoft CDO for Exchange 2000 Library
    N'hésite pas à revenir si tu rencontre un problème
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonsoir Mike-31,
    Merci.
    Je n'ai pas cette référence [Microsoft CDO for Exchange 2000 Library] mais celle-ci [microsoft cdo for windows 2000 library], le problème vient-il de là ?
    Je suis sous Windows 7 et MSO Pro Plus 2010.
    0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Excuse moi, oui c'est celle là microsoft cdo for windows 2000 library
    0
  8. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour Mike-31.
    Merci, effectivement cela semble fonctionnée, mais le problème se trouve du côté du serveur car je reçois ce message :
    Le serveur a rejeté une ou plusieurs adresses de destinataires. La réponse du serveur était : 55 5.7.1 relaying denied.
    Mon fournisseur est [bluewin.ch].
    Je vais chercher plus loin car cette méthode m'intéresse pour la connaissance...
    0
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Sur les bases de mon fichier, essaye de mettre en C1
    smtpauths.bluewin.ch

    si ça ne passe pas, dans le code tu verras cette ligne
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    remplace 25 par 465

    à suivre !
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  10. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour Mike-31.
    Merci.
    Je pense que pour mon fournisseur le numéro du port du courrier sortant est le 587 et le nom du serveur est smtpauth.bluewin.ch (sans le « s » à smtpauths).
    Il se trouve qu'il manque encore l'authentification car elle figure dans la configuration du fournisseur.
    Je cherche... !
    0
  11. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour Mike-31,
    J'ai trouvé, il faut encore le tester et je vous transmettrai le détail.
    0
  12. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Je ne sais pas si cela te sera utile

    Serveur entrant: pop.bluewin.ch
    Numéro de port: 110
    Serveur sortant: smtpauth.bluewin.ch
    Numéro de port: 587
    ou
    pop3s.bluewin.ch, port 995
    smtpauths.bluewin.ch, port 465
    ou
    *Pop3 sécurisé: pop3s.bluewin.ch, port 995 SSL
    *Imap sécurisé: imaps.bluewin.ch, port 993 SSL
    *Smtp sécurisé: smtps.bluewin.ch, port 465 SSL

    Bizarre que ce fournisseur d'accès ait autant de diversités, et je pense que c'est à ce niveau que ça bloque parce que j'utilise cette procédure depuis pas mal de temps et je l'ai proposé plusieurs fois sur les forums.
    Je crois que j'ai laissé trainer une variable inutile dans le code que j'ai modifié pour cette discussion.
    Lorsque le problème du port sortant sera résolu je t'enverrai le fichier initial
    0
  13. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour Mike-31,
    Merci pour vos informations.
    Eh oui en Suisse c'est un peu différent, le fournisseur [Bluewin (Swisscom)] exige l'authentification par mesure de sécurité.
    Il suffit d'ajouter les lignes d'instruction adéquate et c'est ton bon
    Les lignes à insérer après [......../smtpserver"]:
    objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic      
    objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Nom utilisateur messagerie"  
    objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "motdepasse"    
    Voilà cela marche super bien.
    Merci encore de votre aide et surtout de m'avoir fait découvrir cette solution avec [CDO].

    Salutations.
    Le Pingou
    0
  14. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Merci pour l'info, j'insère en attente ces lignes dans le code qui pourront être utiles pour ceux qui utilisent les réseaux sécurisés.

    Pour info, tu termines la deuxième ligne par "Nom utilisateur messagerie"
    c'est bizarre parce qu'avec le procédé CDO on sort directement sans passer par une messagerie, ce n'est pas le login ou le nom d'accès à internet dont tu veux parler!

    de même pour le mot de passe, es ce le mot de passe de connexion ou de messagerie!

    Enfin le principal est que tu sois arrivé à adapter le code que j'utilise et propose depuis des années, je le trouve plus de souple et rapidité d'utilisation parce qu'écrire un code pour une messagerie est souvent casse tête.
    si tu veux des compléments de code pour envoyer une feuille ou classeur Excel en format XLS, XLSX ou PDF, pas de problème.

    Avec ce procédé, j'ai écri un fichier Anniversaire qui automatiquement envoi un message personnalisé à la personne qui fête ces ans, et comme j'ai placé le fichier dans le menu démarrage je n'ai même pas besoin de l'ouvrir tout est automatique, je ne risque plus les oublies Microsoft veille pour moi.

    Cordialement
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      Bonsoir Mike-31,
      Si le fournisseur d'accès internet (pour moi : Bluewin.ch) exige l'authentification, le "Nom utilisateur messagerie" et le mot de passe de la messagerie sont obligatoires.
      Tout autre tentative est voyez à l'échec.
      Eh oui il y a des fournisseurs plus exigants que d'autres mais le service client va aussi avec.
      Note: voir aussi ce lien : http://www.paulsadowski.com/wsh/cdo.htm
      Salutations.
      Le Pingou
      0