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 :

Récupérer les valeurs d'un tableau et envoi de mail


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2019
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 133
    Par défaut Récupérer les valeurs d'un tableau et envoi de mail
    Bonjour,

    Il me manque une dernière retouche pour finaliser un fichier de suivi d'incidents impactant les outils de travail.
    Pour résumer, l'utilisateur se met sur le feuille "Menu" pour choisir son nom, le nom de l'outil impacté, l'indisponibilité de l'outil via des listes déroulantes. Ensuite, il clique sur le bouton "Déclarer un Incident" qui le redirige vers l'onglet "Incident", et là l'utilisateur rempli les détails du problèmes les captures etc... et quand le mail est envoyé, une ligne pour cet incident est créée dans un tableau de l'onglet "Historique Incidents". Cette ligne récapitule toutes les informations sur l'incident.

    Dans la colonne "Résolu" du tableau, si la valeur est "o" alors la date de résolution ne s'affiche pas ce qui signifie que l'incident est en cours, mais par contre quand l'incident est résolu, et l'utilisateur clique sur la cellule de la colonne "Résolu" pour qu'elle affiche "x", je souhaite qu'une boite de dialogue (Yes, No) apparaisse avec ce message "Voulez-vous envoyer un mail de résolution de l'incident?" et si Yes, un mail simple avec Objet "Résolution Incident n°XXX Outil XXX" et le n° Incident et le nom de l'outil doivent être récupérer des colonne A et B de la même ligne où l'utilisateur a cliqué sur la cellule de la colonne R pour la passer à "x". et si No, ne fait rien à part afficher la date de résolution.

    J'espère être précis dans ma demande et j'espère trouver la solution dans ce forum.
    Ci-joint le fichier en question.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 440
    Par défaut
    Bonjour,

    Un code dans ce genre placé dans la feuille "Historique incident" devrait convenir:
    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
    32
    33
    Option Explicit
     
    Private Sub Worksheet_SelectionChange(ByVal R As Range)
        If Not Intersect(R, [Tb[Résolu]]) Is Nothing And R.Count = 1 Then
            Application.EnableEvents = 0
            R = IIf(R = "o", "x", "o")
            R(1, 2) = ""
            If R = "x" Then
                R(1, 2) = Now
                If MsgBox("Voulez-vous envoyer un mail de résolution de l'incident?", vbYesNo, "Oui-Non") = vbYes Then
                    EnvoiMailFin
                End If
            End If
            R(1, 2).Select
            Application.EnableEvents = 1
        End If
    End Sub
     
    Private Sub EnvoiMailFin()
        Dim kR As Long
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        kR = ActiveCell.Row
        With ActiveCell.Parent.MailEnvelope.Item
            .To = Cells(kR, 3)
            .Subject = "Résolution incident n°" & Cells(kR, 1) & "Outil " & Cells(kR, 2)
            .Send
        End With
        MsgBox "Votre mail a été envoyé", vbInformation + vbOKOnly, "Pour info"
        ThisWorkbook.Save
        Application.ScreenUpdating = True
        Application.DisplayAlerts = True
    End Sub
    Cordialement

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2019
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 133
    Par défaut
    Eric,

    Merci bien pour ton retour. Le problème est résolu grâce à ton code.

    Merci !

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

Discussions similaires

  1. Récupérer les valeurs de mon tableau
    Par Devilju69 dans le forum Langage
    Réponses: 5
    Dernier message: 19/11/2013, 16h57
  2. Réponses: 2
    Dernier message: 28/02/2012, 09h38
  3. Récupérer les valeurs d'un tableau
    Par fermat dans le forum Débuter
    Réponses: 3
    Dernier message: 02/02/2012, 14h17
  4. [PostgreSQL] Récupérer les valeurs d'un tableau
    Par Grotoumaigr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/01/2012, 09h37
  5. Récupérer les valeurs dans un tableau
    Par ssxjim dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 26/01/2011, 20h49

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