IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoie e-mail/ Changement de format .xl


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut Envoie e-mail/ Changement de format .xl
    Bonjours,
    J’ai un souci au niveau de l’envoie de mon fichier par mail.

    J’ai créé la macro pour l’envoie, mais je rencontre deux soucies, l’un est que les données sont dans le corps du mail et non en pièce jointe. L’autre est que ceux qui le reçoivent utilise un téléphone portable pour lire le fichier mais il n’y arrive pas. Je pense que c’est le fait que le fichier prend en charge les macros, donc je souhaiter que pour l’envoie de l’email, qu’il envoi le fichier sous un format excel normal tel que .xl .

    Voici mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Envoie_mail()
     
        ActiveSheet.Range("A1: P23").Select ' la plage de cellules à envoyer
        ActiveWorkbook.EnvelopeVisible = True
     
        With ActiveSheet.MailEnvelope
            .Item.To = "macx@123.fr"
            .Item.Subject = "le sujet"
            .Item.Send
        End With
     
    End Sub
    Merci d'avance Maximilien

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Excuser moi, mais si personne à une solution à mon problème j'ai pensé à le détourné sur la partie formatage en .xl
    Si on met à part l'envoie de mail et ce problème de pièce jointe. Il me faudrait un programme qui, finalement, créé un doublon de mon fichier en format .xl ou .xls donc sans le code.
    PS: Vu que cette action sera effectuée plusieurs fois, un message d’erreur(à partir de la 2nd activation de la macro) va m'indiquer le fameux "Il y a déjà un fichier portant ce nom.Voulez-vous remplacer ce fichier par celui sélection" donc y inclure dans cette aparté une petite ligne qui indique par défaut "True" à cette question

    Merci
    Cordialement Maximilien

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Tu as regardé du côté de la fonction FileCopyAs ? je pense que ça répondrait à ton besoin pour l'enregistrement de ton fichier au format que tu souhaites

    Tu l'as au format xlsm je pense => le FileCopyAs peut surement te l'enregistrer en copie en xlsx. Par contre, je te conseille de garder le chemin et le nom de ton nouveau fichier dans une variable, pour après pouvoir le joindre à ton mail
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Ok merci je vais y jeter un oeil

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    J'ai testé mais sa bloc.
    En utilisant ta formule, j'ai fait cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fileCopy "G:\Stage M\Missions annexes\Planning1.xlsm", "C:\Test\Planning2.xl"
    J'ai peut etre trouver

  6. #6
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Pardon,j eme suis trompé dans la fonction : C'est SaveCopyAs qu'il faut utiliser

    la fonction FileCopy te permet de copier d'un fichier vers un autre, mais il faut que ces fichiers aient la même extension. Donc ça marchera pas pour ton cas.

    Si tu utilise la méthode SaveCopyAs, tu pourras (peut-être ?) sauvegarder ton fichier Excel en copie dans un "autre format".

    Sinon, tu peux utiliser le SaveAs, avec les arguments suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, ConflictResolution:=xlLocalSessionChanges
    En ayant au préalable mis le nom de ton fichier en xlsx. Le problème est que si tu fais ça, je ne sais pas si les macros vont continuer de tourner par la suite

    quand tu dis ça bloque, tu veux dire quoi par là ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    C'est que il y'avait un blocage au niveau de la macro comme quand il y'a une erreur de mise.

    Je vais voir ce que je peux faire

    J'ai trouvé un truc très simple par hasart

    ActiveSheet.Copy
    suffi à créé un nouveau fichier avec les données de la feuille.
    Cependant j'aimerais changer le nom de ce nouveau fichier, le sauvegarder au nom "Planning " & semaine & ".xls" puis le fermer

    Le problème c'est qu'il change le nom du fichier source. Avez-vous une solution?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Changement_format()
    'Changement de format xlsm (prenant en charge les macro) en xls
     
        Dim semaine As String
        semaine = ActiveSheet.Name
     
        With ActiveSheet
            .Copy
            .SaveAs "C:\Stage\Planning " & semaine & ".xls"
        End With
     
    End Sub

  8. #8
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    D'où l'utilisation du SaveCopyAs
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Justement excel ne veut pas exécuter lorsque je met .SaveCopyAs au lieu de .SaveAs
    Mais il va sauvegarder la feuille qui à lancer la procédure et savecopyas va bien copier sous le bon format mais tous le fichier(les macros existent toujours) et quand on souhaite l'ouvrir, il y'a un méssage qui dit que le format du fichier est différents de son extention et je me demande si ceux qui devrons ouvrir le mail par téléphone vont réussir.

Discussions similaires

  1. envoi de mail format HTML
    Par heteroclite dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 14/10/2006, 11h54
  2. [VBS & CDO] Envois de mail format HTML
    Par nonotoubo dans le forum VBScript
    Réponses: 2
    Dernier message: 23/08/2006, 16h34
  3. [FPDF] Envoi de mail au format PDF, à partir d'une page PHP
    Par King_T dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 01/05/2006, 23h21
  4. Envoi de mail au format html
    Par Mephyston dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/01/2004, 12h29
  5. Envoi de mail au format Rich-Text
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 29/10/2003, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo