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 :

Remplir un concerne de mail avec certaines cellules de la première ligne filtrée [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut Remplir un concerne de mail avec certaines cellules de la première ligne filtrée
    Bonjour,

    Dans mon job, je remplis quotidiennement des commandes sur excel, que j'envoie à mon magasinier sous forme de mail avec un fichier excel attaché.

    Dans mon tableau j'ai un bouton qui envoie un mail automatiquement lorsque je clique dessus, voici le code actuel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub CommandButton1_Click()
    Dim return_receipt As Boolean
    Dim strRecipients As String, strSubject As String
     
    'Copie la feuille active qui va être envoyée par mail
    ActiveSheet.Select
    'Adresse mail du magasinier
    strRecipients = Range("E1")
    'Concerne du mail
    strSubject = "Nouvelle commande de pièces" & Range("F4") & Range("G4") & Range("E2")
    return_receipt = True
     
    Application.Dialogs(xlDialogSendMail).Show _
        strRecipients, _
        strSubject, _
        return_receipt
     
    End Sub

    J'aimerai ajouter dans le concerne strSubject, en plus des informations déjà reprises le mot inscrit dans les colonne A C et E de la première ligne filtrée.

    Colonne A est le nom du monteur
    Colonne C est le nom du chantier
    Colonne E est le nom de la pièce commandée

    Autre point: Mon classeur comporte plusieurs feuilles:
    Commande
    Pièces
    Planning
    J'aimerai juste envoyer la feuille de commande sans toutes les autres feuilles

    Merci de votre aide. Je suis un novice en VBA
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub CommandButton1_Click()
    Dim return_receipt As Boolean
    Dim strRecipients As String, strSubject As String, Plage As Range
    Dim A As String, C As String, E As String
     
    'Copie la feuille active qui va être envoyée par mail
    ActiveSheet.Select
    With ActiveSheet.AutoFilter
        Set Plage = .Range.Resize(, 1).Offset(1).Resize(.Range.Rows.Count - 1, 1)
        If Application.Subtotal(103, Plage) > 0 Then
            Set Plage = Plage.SpecialCells(xlCellTypeVisible)
            A = Plage(1, 1)
            Var = Plage.Resize(1).Offset(, 4).Address
            C = Plage.Resize(1).Offset(, 2)
            E = Plage.Resize(1).Offset(, 4)
            strRecipients = Range("E1")
            strSubject = "Nouvelle commande de pièces" & Range("F4") & Range("G4") & Range("E2")
            strSubject = strSubject & A & C & E
            return_receipt = True
            Sheets("Commande").Copy
            Application.Dialogs(xlDialogSendMail).Show _
            strRecipients, _
            strSubject, _
            return_receipt
        Else
            MsgBox "Aucune ligne filtrée"
        End If
    End With
    'Supprime le classeur envoyé
    'ActiveWorkbook.Close False
    End Sub

  3. #3
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Merveilleux fantastique mille mercis

    Y a quand même des surdoués sur cette planette

  4. #4
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonjour Daniel.C, bonjour à tous,

    Voici le fichier corrigé que j'utilise actuellement, j'aimerai aller plus loin, c'est à dire garder les fonctions actuelles en ajoutant toutes les lignes filtrées dans le corps du message, de manière à ce que le magasinier puisse directement imprimer le mail avec toutes les lignes et colonnes filtrées.

    Le fichier resterait attaché comme actuellement afin de garder l'historique des précédentes commandes.

    Est-ce réalisable?

    Merci d'avance pour votre aide

    Meilleures salutations est bon week-end.
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Non, hélas, avec cette méthode, on ne peut pas modifier le corps du message (sinon manuellement).
    Si ton client messagerie est Outlook, c'est alors possible. Est-ce le cas ?

  6. #6
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Hello,

    Malheureusement non, c'est Lotus Notes.
    Mais on pourrait imaginer plusieurs lignes dans l'objet du mail ?

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Même pas... Mais tu peux poser une nouvelle question en spécifiant dans le titre qu'il s'agit de Notes. Car c'est possible de le faire. Je l'ai fait quand j'utilisais Notes.

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

Discussions similaires

  1. [XL-2007] copier/coller des cellules vers une première ligne vide
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/07/2011, 00h35
  2. [XL-2007] Selectionner plusieures cellules de la première ligne vide
    Par trane51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/06/2011, 16h58
  3. [XL-97] Copier certaines cellules de la dernière ligne d'un tableau dynamique
    Par Estaque3394 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2010, 06h58
  4. [Toutes versions] Dupliquer une formule avec certaines cellules fixes
    Par Trebor dans le forum Excel
    Réponses: 2
    Dernier message: 28/09/2009, 10h11
  5. probleme envoi de mail avec certaines adresses
    Par killerhertz dans le forum ASP
    Réponses: 2
    Dernier message: 18/08/2006, 13h03

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