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 :

Alertes lorsque les dates d'échéances sont proches [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut Alertes lorsque les dates d'échéances sont proches
    Bonjour à tous, je suis nouveau ici et nouveau également à mon boulot.

    Je suis dans l'administration d'une entreprise comptant plus de 150 salariés, et je dois gérer des impératifs pour chacun d'entre eux, du coup, j'aimerai pouvoir créer une alerte via un tableau excel que je recevrais par mail (j'utilise outlook) pour pouvoir etre un peu soulagé, au lieu de verifier mon tableau chaque jour "a la main", pour voir si une échéance approche.

    Concretement, j'aimerais etre prevenu à l'avance pour pouvoir prendre les dispositions nécessaires.

    La difficulté supplémentaire pour moi, vu que je n'ai jamais utilisé de macro excel de ma vie, c'est que j'ai plusieurs dates différentes par personne qui correspondent à des échéances différentes, donc l'alerte ne sera pas donnée dans les memes délais suivant l'evenement que la date représente.

    Quelqu'un peut il m'aider svp ?

    Merci

    ps : ci joint un exemple (incomplet au niveau du nombre de salarié) pour que vous puissiez voir ce que je veux dire

    Merci beaucoup d'avance à ceux qui prendront le temps d'essayer de m'aider

    Bonn journée

    Essaie alerte.xlsx

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour et bienvenu,

    Certes, Excel peut gérer Outlook.

    Cela risque d'être compliqué.

    Pourquoi ne pas utiliser les mises en forme conditionnelles avec une condition par formule du type
    =(F2-AUJOURDHUI())<200
    Seule contrainte : ouvrir le classeur quotidiennement

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Citation Envoyé par MarcelG Voir le message
    Bonjour et bienvenu,

    Certes, Excel peut gérer Outlook.

    Cela risque d'être compliqué.

    Pourquoi ne pas utiliser les mises en forme conditionnelles avec une condition par formule du type

    Seule contrainte : ouvrir le classeur quotidiennement

    Oui en effet c'est une solution simple.

    Merci

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    contrairement au règles du forum il faut éviter les pièces jointes dès le premier message
    J'ai bricolé vite fait un petit fichier pour contrôler tes échéance : à tester et à améliorer
    j’espère que ça soit un base de travail pour essayer de comprendre VBA pour ton bien pas plus
    tu auras un message d’alerte 7 jours avant l’échéance pour tous les cas
    tu peux le modifier

    BONNE CONTINUATION
    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
    Sub alerte()
     
    Dim w1 As Worksheet
    Dim i As Long
    Dim D As Date
    Dim j As Integer
     
    Set w1 = Worksheets("feuil1") 'Feuille qui contient les alertes
    D = Date
    ' ********************************* Période d'éssai
    For i = 2 To w1.Range("D" & Rows.Count).End(xlUp).Row
    p = D - w1.Range("D" & i)
    If p >= 0 Then MsgBox ("Période d'éssai pour Monsieur :  " & Cells(i, "A").Value & "  à déja expirée depuis le : " & Cells(i, "D").Value)
    If p > -7 And p < 0 Then MsgBox ("fin de période d'éssai pour Monsieur expirera le" & Cells(i, "A").Value)
    Next i
     
    ' ********************************* visite midicale
    For i = 2 To w1.Range("E" & Rows.Count).End(xlUp).Row
    p = D - w1.Range("E" & i)
    If p >= 0 Then MsgBox ("Visite midicale pour Monsieur :  " & Cells(i, "A").Value & "  à déja expirée depuis le : " & Cells(i, "E").Value)
    If p > -7 And p < 0 Then MsgBox ("Visite midicale pour Monsieur   " & Cells(i, "A").Value)
    Next i
     
    ' ********************************* Entretien PRO
    For i = 2 To w1.Range("F" & Rows.Count).End(xlUp).Row
    p = D - w1.Range("F" & i)
    If p >= 0 Then MsgBox ("Entretien PRO pour Monsieur :  " & Cells(i, "A").Value & "  à déja expirée depuis le : " & Cells(i, "F").Value)
    If p > -7 And p < 0 Then MsgBox ("Entretien PRO pour Monsieur " & Cells(i, "A").Value)
    Next i
     
    End Sub
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    contrairement au règles du forum
    Je dirais même "conformément".

    Dans ce cas Bennasr, notre ami aurait autant de fois à cliquer sur OK à chaque message.
    Tandis qu'en utilisant les MFC, la vision serait immédiatement globale

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    bonsoir
    contrairement au règles du forum il faut éviter les pièces jointes dès le premier message
    J'ai bricolé vite fait un petit fichier pour contrôler tes échéance : à tester et à améliorer
    j’espère que ça soit un base de travail pour essayer de comprendre VBA pour ton bien pas plus
    tu auras un message d’alerte 7 jours avant l’échéance pour tous les cas
    tu peux le modifier

    BONNE CONTINUATION
    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
    Sub alerte()
     
    Dim w1 As Worksheet
    Dim i As Long
    Dim D As Date
    Dim j As Integer
     
    Set w1 = Worksheets("feuil1") 'Feuille qui contient les alertes
    D = Date
    ' ********************************* Période d'éssai
    For i = 2 To w1.Range("D" & Rows.Count).End(xlUp).Row
    p = D - w1.Range("D" & i)
    If p >= 0 Then MsgBox ("Période d'éssai pour Monsieur :  " & Cells(i, "A").Value & "  à déja expirée depuis le : " & Cells(i, "D").Value)
    If p > -7 And p < 0 Then MsgBox ("fin de période d'éssai pour Monsieur expirera le" & Cells(i, "A").Value)
    Next i
     
    ' ********************************* visite midicale
    For i = 2 To w1.Range("E" & Rows.Count).End(xlUp).Row
    p = D - w1.Range("E" & i)
    If p >= 0 Then MsgBox ("Visite midicale pour Monsieur :  " & Cells(i, "A").Value & "  à déja expirée depuis le : " & Cells(i, "E").Value)
    If p > -7 And p < 0 Then MsgBox ("Visite midicale pour Monsieur   " & Cells(i, "A").Value)
    Next i
     
    ' ********************************* Entretien PRO
    For i = 2 To w1.Range("F" & Rows.Count).End(xlUp).Row
    p = D - w1.Range("F" & i)
    If p >= 0 Then MsgBox ("Entretien PRO pour Monsieur :  " & Cells(i, "A").Value & "  à déja expirée depuis le : " & Cells(i, "F").Value)
    If p > -7 And p < 0 Then MsgBox ("Entretien PRO pour Monsieur " & Cells(i, "A").Value)
    Next i
     
    End Sub

    Merci, c'est tout ce que je demandais, une base, apprendre et comprendre c'est bien sur plus interessant que de juste copier betement quelque chose de fait par quelqu'un d'autre

    Donc merci

    bonne journée

  7. #7
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    il a raison MarcelG , c'est fatiguant de cliquer chaque fois sur ok ...c'est pourquoi j'ai pensé à envoyer vers une autres feuilles les échéance à moins de 7 jours
    Le principe consiste à néttoyer la feuille 2 puis envoyer les taches à écheance - de 7 jours
    BONNE CONTINUATION
    Fichiers attachés Fichiers attachés

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Merci

    je vais tester tout ça mais je pense avoir de bonnes pistes

  9. #9
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par MartyMcFlan Voir le message
    J'ai rejoins un forum pour l'esprit de l'entraide hein.
    Tant mieux. Ca fera donc un intervenant de plus pour répondre aux demandes formulées par d'autres.

    Citation Envoyé par BENNASR Voir le message
    j'ai pensé à envoyer vers une autres feuilles les échéance à moins de 7 jours
    Ceci pourrait être fait par un filtre avancé.
    Lire : http://philippetulliez.developpez.co...dvancedfilter/

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tant mieux. Ca fera donc un intervenant de plus pour répondre aux demandes formulées par d'autres.

    Si j'en suis capable bien sur que oui

  11. #11
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par MartyMcFlan Voir le message
    j'aimerai pouvoir créer une alerte via un tableau excel que je recevrais par mail (j'utilise outlook) pour pouvoir etre un peu soulagé, au lieu de verifier mon tableau chaque jour "a la main", pour voir si une échéance approche.
    Si ton fichier Excel n'est pas ouvert, aucune des macros qu'il contient ne sera active et ne pourra donc t'envoyer de mail.

    Le plus simple serait de mettre dans une colonne le délais restant entre la date actuelle (fonction AUJOURDHUI) et la date d'échéance.
    Tu mets sur l'ensemble de ton tableau un filtre (Ruban Données > Icone Filtre) qui permettra de le trier en deux clics.
    Il te sera alors facile de repérer tous les enregistrements qui sont proches de l'échéance.

    Si en plus tu mets sur cette nouvelle colonne une mise en forme conditionnelle du style 3 couleurs, les éléments à traiter te sauteront aux yeux.

    La difficulté supplémentaire pour moi, vu que je n'ai jamais utilisé de macro excel de ma vie
    Si l'idée c'est qu'on fasse ton travail à ta place, ça sera sans moi.

    ps : ci joint un exemple (incomplet au niveau du nombre de salarié) pour que vous puissiez voir ce que je veux dire
    Ci-joint une règle du forum : https://www.developpez.net/forums/d8...s-discussions/

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Si ton fichier Excel n'est pas ouvert, aucune des macros qu'il contient ne sera active et ne pourra donc t'envoyer de mail.

    Le plus simple serait de mettre dans une colonne le délais restant entre la date actuelle (fonction AUJOURDHUI) et la date d'échéance.
    Tu mets sur l'ensemble de ton tableau un filtre (Ruban Données > Icone Filtre) qui permettra de le trier en deux clics.
    Il te sera alors facile de repérer tous les enregistrements qui sont proches de l'échéance.

    Si en plus tu mets sur cette nouvelle colonne une mise en forme conditionnelle du style 3 couleurs, les éléments à traiter te sauteront aux yeux.


    Si l'idée c'est qu'on fasse ton travail à ta place, ça sera sans moi.


    Ci-joint une règle du forum : https://www.developpez.net/forums/d8...s-discussions/

    Très bien merci, je vais essayer ça comme ça voir ce que ça donne.

    Non, l'idée n'est pas de faire mon travail à ma place, je veux bien apprendre, je disais juste ça pour que l'on soit au courant que je n'ai pas de base, donc que certaines formules ou un certain jargon logique et limpide pour vous ne pourrait peut etre pas l'être pour moi, c'est tout.
    J'ai rejoins un forum pour l'esprit de l'entraide hein.


    Pardon pour la pièce jointe, j'avais cru lire dans les règles que c'était mieux d'en mettre une quand je me suis inscrit

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/01/2018, 16h57
  2. Réponses: 4
    Dernier message: 06/09/2017, 18h35
  3. Alerte pour une date d'échéance sur vba
    Par coronadoj dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/12/2016, 15h19
  4. [Modèle Relationnel] comment gérer les dates d'échéance
    Par akara dans le forum Schéma
    Réponses: 7
    Dernier message: 18/04/2009, 00h56
  5. [Oracle] Les dates en SQL sont méchantes avec moi
    Par akrogames dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/01/2009, 05h04

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