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 :

Copie de plusieurs tableaux de différentes feuilles dans un mail [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Pilote d'exploitation
    Inscrit en
    Septembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Pilote d'exploitation

    Informations forums :
    Inscription : Septembre 2018
    Messages : 10
    Par défaut Copie de plusieurs tableaux de différentes feuilles dans un mail
    Bonjour,

    Je suis un vrai débutant pour ce qui est du VBA.
    Ayant débuté une nouvelle mission au sein de mon entreprise, je me suis entrepris "D'automatiser" une grande partie du travail.
    Actuellement, j'essaie d'automatiser l'envoi d'un rapport de fin de poste. Le principe est simple, nous remplissons un fichier excel avec plusieurs feuilles à l'interieur. à la fin de notre poste, nous envoyons un mail ou nous faisons des copier/coller des tableaux remplis durant la journée.

    J'essaie d'automatiser cette action via excel. En bidouillant un peu, je suis parvenu à copier les cellules non vides d'une feuille dans un mail et à l'envoyer. Mais plusieurs problèmes se présentent :

    - Je ne parvient pas à faire en sorte de copier plusieurs tableaux de plusieurs feuille, à la suite.
    - Je ne parvient pas à faire en sorte de mettre du texte entre chaque tableaux copiés.

    Ce que je voudrais voir dans le mail :

    1 - "Consignes"

    [Copie du tableau de l'onglet "consignes]

    2 - Rapport

    [Copie du tableau de l'onget "rapport]

    etc etc...


    Voici ce que j'ai pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub envoiPlageCellules_Excel2002()
    ActiveWorkbook.Sheets("Consignes").Activate
    ActiveSheet.Range("a1:E1", ActiveSheet.Range("a1:E1").End(xlDown)).Select
    ActiveWorkbook.Sheets("Suivi des fichiers").Activate
    ActiveSheet.Range("a1:E1", ActiveSheet.Range("a1:E1").End(xlDown)).Select
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données ..."
        .Item.To = "mon mail"
        .Item.Subject = "le sujet"
        .Item.Send
    End With
    End Sub
    Question bonus : Y a t'il un moyen d'afficher juste le mail, au lieu de l'envoyer de suite ? j'ai essayé le .Item.display , sans succès.

    Merci d'avance à ceux qui me répondront !

    cdt.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 40
    Par défaut
    Bonjour,

    J'ai bien l'impression que tu trouveras ta solution ici : https://stackoverflow.com/questions/...-carriage-retu

    Mais il m'est d'avis qu'il serait beaucoup plus simple de faire une étape intermédiaire dans ta procédure pour traiter tes données sur la même feuille (par exemple tous tes tableaux séparés par des lignes dans lesquelles tu écrirais tes "Consignes" etc..) pour ensuite utiliser le code que tu as trouvé sur msdn

  3. #3
    Membre régulier
    Homme Profil pro
    Pilote d'exploitation
    Inscrit en
    Septembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Pilote d'exploitation

    Informations forums :
    Inscription : Septembre 2018
    Messages : 10
    Par défaut
    Bonjour,

    ah, ce n'est pas une mauvaise idée. Vous voulez dire qu'il faudrais d'abord que la macro copie tous les tableau sur une même page, pour ensuite copier le tout dans le mail ?

    Edit :

    J'ai réussi à faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Copie()
     
    Sheets("Consignes").Select
    Range("A1:E1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Copie").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
     
    End Sub
    Le problème est que cela me colle le texte brut, sans mise en forme, sans couleurs, fusions de cellule. y a t'il un moyen de changer cela ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 40
    Par défaut
    Pour ta méthode "PasteSpecial" tu as passé un paramètre qui copie uniquement les valeurs. Tu trouveras les différents paramètres acceptés https://msdn.microsoft.com/fr-fr/vba...meration-excel

    Exemple : Si tu veux tout coller utilise à la place de

  5. #5
    Membre régulier
    Homme Profil pro
    Pilote d'exploitation
    Inscrit en
    Septembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Pilote d'exploitation

    Informations forums :
    Inscription : Septembre 2018
    Messages : 10
    Par défaut
    ça commence à prendre forme, maintenant j'ai deux soucis :

    - Cela prend bien en compte le format, mais j'ai un tableau "écrasé". Il ne me met pas les colonnes à la bonne longueur pour afficher tout le texte.
    - Il me copie le tableau là ou est le curseur, indépendamment de la feuille selectionnée.

    Bonus : Ce code peux il être répété pour le nombre de tableau requis ? (il y a 5 tableau de 5 feuilles différentes au total)

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 40
    Par défaut
    Tu trouveras très très facilement les réponses à ces questions en cherchant un peu

    Oui , les 3 sont possibles; avance un peu dans ton projet et si vraiment tu bloques reviens poser une question

    Bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copie dynamique de colonnes de différentes feuilles
    Par emenemza dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/11/2013, 18h42
  2. Réponses: 7
    Dernier message: 11/02/2013, 13h13
  3. Réponses: 4
    Dernier message: 30/01/2012, 12h04
  4. Réponses: 4
    Dernier message: 06/05/2011, 10h39
  5. Réponses: 2
    Dernier message: 04/01/2010, 10h02

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