Excel alerte

cotuitioj Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
CUTUITIOJ Messages postés 9 Statut Membre -
Bonsoir,
Bonjour ,
est ce qu'il ya une possibilté de faire une alerte sur un fichier excel ,pour me permettre de changé le permis de mes chauffeurs a chaque fin de validité.
Salutations

37 réponses

  • 1
  • 2
Résumé de la discussion

Une macro VBA, déclenchée à l'ouverture du classeur, permet d'afficher des alertes pour les échéances de permis et pour les visites techniques.
Elle calcule les jours restants en faisant la différence entre la date actuelle et les dates d'échéance, et déclenche une alerte lorsque ce délai est entre 0 et 7 jours.
Le balayage parcourt les lignes à partir d'une ligne de départ (par exemple 7) jusqu'à la dernière ligne remplie sur les feuilles concernées et peut ignorer les valeurs 'N/A' ou les cas 'Exempté'.
Des propositions complémentaires prévoient l'utilisation de formules en colonnes M et N pour préparer les échéances et l'extension du code à plusieurs feuilles ou à un démarrage automatique.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir,

    Bien sûr

    Tu veux quoi exactement ?
    Un rappel combien de temps avant l'échéance ?

    Rappel par simple relevé des noms des chauffeurs concernés dans une cellule en haut du tableau par exemple (ce qui peut se faire par formules)

    ou rappel par un message dans une fenetre (demande de passer par du codage en VBA) ?

    Comment est constitué ton tableau ? en quelles colonnes sont les noms et les dates ?

    Si tu peux mettre un exemple allégé et anonymé sur cjoint.com et indiquer ensuite le lien fourni ce serait mieux

    Cdlmnt
    0
    1. cotuitioj Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
       
      merci,
      Je voudrai que l'alerte ce fait à une semaine de la date d'achéance et même ci le fichier en question est fermé.
      Voir ci dessus un exemple du fichier .je reste à votre disposition pour plus d'information


      https://www.cjoint.com/?0CbiUdcKufQ
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Difficile avec le classeur fermé

      Voilà une macro qui se déclenche dès qu'on ouvre le classeur que tu avais joint

      https://www.cjoint.com/?0Cbsxc1U83U

      Cdlmnt
      0
  2. CUTUITIOJ
     
    VIA55;
    Petit problème sur mon nouveau tableau j'ai inserer la macro ça marche à moitié puis-la couleur de la case change mais l'alerte ne s'affiche pas comme dans le tabeau que tu m'a fais.
    Pouvez-vous me donner les demarches à faire pour bien appliquer cette Macro.
    Salutations
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bonsoir,


      La macro est à mettre dans Worbook
      ALT F11 cliquer sur This worbook et coller la macro a droite

      Dans la 2eme ligne (que j'ai rajoutée) remplacer Feuil1 par le nom de la feuille où se trouve la liste des chaufffeurs dans ton classeur

      La macro est basée sur la liste de nom en colonne A avec le 1er nom en A2 comme dans le fichier que tu m'avais envoyé
      Si ton nouveau fichier est différent il faut modifier la référence A2 dans la macro 3eme ligne

      Fermer l'editeur de macro
      Enregistrer le classeur
      Le fermer puis le réouvrir

      Me tenir au courant

      Cdlmnt


      Private Sub Workbook_Open()

      mes = "ECHEANCES PERMIS" & Chr(10) & Chr(10)
      Sheets("Feuil1").Select
      der = Range("A2").End(xlDown).Row
      For n = 2 To der
      ech = Cells(n, 5).Value
      x = Date - ech
      If x <= 0 And x > (0 - 8) Then mes = mes & Cells(n, 1) & " " & Cells(n, 2) & " : " & x & " jour(s)" & Chr(10)
      Next
      MsgBox (mes)

      End Sub
      0
  3. CUTUITIOJ
     
    Via55,
    je n'est vraiment pas reussi a la faire je t'est donc joint le fichier en question.
    je voudrai que le numero du vehicule et le d'affectation de la personne sort a chaque alerte .
    http://cjoint.com/?3CcxQtdVJtF
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Voilà

      https://www.cjoint.com/?3Cdagf8J8wP

      Si tu veux voir le code ALT F11 puis clic sur This Workbook

      Si c'est bon, un petit merci serait bienvenu
      0
  4. CUTUITIOJ
     
    VIA55,
    c'est bon merci beaucoup pour votre service j'aimerai rester en contact avec toi comment faire pour te joindre en cas de besoin
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bonsoir cutuitoj

      Tu peux me joindre ici, en message privé si tu veux

      A+

      Cdlmnt
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. CUTUITIOJ
     
    Bonjour VIA55,
    est que en utilisant le même tabeau on peut faire un racourci sur le bureau pour me permettre si je clic sur le racourci ça me donne le rapport automatquement.
    Salutation
    0
  7. CUTUITIOJ
     
    VIA55,
    la valeur de mon der =11
    donc la formule s'arrete la la colonne 11 j'aimerai que la formule part jusqu'a la fin de la colonne d'excel.
    Salutations
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bonjour

      1° tu dis la valeur de der est 11 ??
      Dans la macro que je t'ai envoyé :
      der = Range("D7").End(xlDown).Row

      c'est à dire que der est le N° de la dernière ligne de la colonne D à partir de al cellule D7 où se trouve le 1er nom
      donc der s'adapte à la longueur de ta liste mais il ne faut pas de ligne vide entre 2 lignes avec des données
      si dans la colonne D des cellules restent vide alors il faut faire calculer der sur une autre colonne par exemple sur la colonne C des n° d'immatriculation ; il suffit de remplacer le D7 par C7 dans la ligne de la macro ci dessus

      2° La macro fonctionne à l'ouverture de ton classeur donc si tu veux un raccourci sur le bureau tu peux mettre un raccourci de ton classeur par clic droit sur ton classeur dans le dossier dans lequel il se trouve (Mes documents par exemple) et Envoyer vers Bureau

      Cdlmnt
      0
  8. CUTUITIOJ
     
    VIA55,
    la valeur de mon der s'affiche comme suite
    der=Range("D7").End(xldown).Row=11 donc je veus que le Row aille jusqu'a la dernière de la colonne D7
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Qu'appelle tu la derniere de la colonne D7 ?
      Il y a d'autres données après D11?
      Renvoie moi ton fichier complet (anonymé si nécessaire) j'y verrai plus cair
      0
  9. CUTUITIOJ
     
    VIA55,
    ok veuillez trouver le fichier en attache
    http://cjoint.com/?3CeolMIv6ox
    Salutation
    0
  10. CUTUITIOJ
     
    Via55,
    je suis désolé ci-joint le tableau
    http://cjoint.com/?3Cep2A4eDaw
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Voila le fichier revu
      J'ai rajouté une colonne N qui calcule le nombre de jours restant et la macro se base sur cette colonne pour afficher les nfos correspondantes
      J'ai également mis une MFC qui colore les lignes concernées en jaune

      https://www.cjoint.com/?3CetfI1mmhc

      Salutations
      0
      1. CUTUITIOJ Messages postés 9 Statut Membre 6 > via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour Via55,

        Pouvez vous m’assister à récupérer un fichier que vous m’avez aider à effectuer depuis .

        j’ai changé de Pc 

        Cordialement 

        0
  11. CUTUITIOJ
     
    VIA55,
    ça marche à marveille vous êtes magnique Merci beaucoup.
    j'aimerai savoir comment securisé et la macro et ma MFC
    salutations
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Pour proteger la feuille
      Onglet Revision puis Proteger la feuille et mettre un mot de passe (mais à ne pas oublier car pas moyen de le recuperer si perdu) on ne peut plus modifier de cellules dans la feuille (donc si tu veux changer des données il faut d'abord deproteger la feuille et la reproteger ensuite

      Pour proteger le code
      Alt F11 pour ouvrir l'éditeur
      Onglet Outils puis Propriétés de VBA puis Protection et Verouiller et mettre là aussi un mot de passe (ça peut être le même) et là encore surtout ne pas perdre le mot de passe

      Bonne suite
      0
  12. CUTUITIOJ
     
    VIA55,
    je veus ajouter une autre colonne N avec les valeurs de la colonne G7 en utilisant le même tableau dont va utiliser la macro pour faire resortir la date d'écheance des visites techniques sur le tableau en plus de ce qui a été fait pour les permis.
    Je suis à votre dispositions pour plus d'informations.
    Salutations
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Il ne faut pas toucher à la colonne N qui contient la formule pour le calcul des echeances de permis

      Il faut dans la colonne M mettre la formule suivante en M7
      =SI(G7="Exempté";"";SI((G7-AUJOURDHUI())>=0;G7-AUJOURDHUI();""))
      puis etirer jusqu'en bas

      Puis ouvrir editeur et this worbook et ajouter les 2 parties en gras dans le code existant

      Private Sub Workbook_Open()

      On Error Resume Next

      mes = "ECHEANCES PERMIS" & Chr(10) & Chr(10)
      Sheets("Feuil1").Select
      der = Range("D7").End(xlDown).Row
      For n = 7 To der
      x = Cells(n, 14).Value
      If x >= 0 And x < 8 Then mes = mes & Cells(n, 3) & " - " & Cells(n, 4) & " : " & x & " jour(s)" & Chr(10)
      Next
      MsgBox (mes)

      mes = "ECHEANCES VISITES TECHNIQUES" & Chr(10) & Chr(10)
      der = Range("D7").End(xlDown).Row
      For n = 7 To der
      x = Cells(n, 15).Value
      If x >= 0 And x < 8 Then mes = mes & Cells(n, 3) & " - " & Cells(n, 4) & " : " & x & " jour(s)" & Chr(10)
      Next
      MsgBox (mes)

      End Sub

      Salutations
      0
  13. CUTUITIOJ
     
    5/5 ça marche très bien merci beaucoup,
    Via55 vous allez m'apprendre à faire des macros?
    Salutations
    Lamine
    0
  14. CUTUITIOJ
     
    VIA55,
    maintenant j'ai fais un raccourci du fichier sur mon ECRAN ,es ce possible de faire en sorte que le fichier s'ouvre automatiquement à chaque une semaine.
    Salutations
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      bonjour

      A ma connaissance pas de possibilité, dsl

      Cdlmnt
      0
  15. CUTUITIOJ
     
    VIA55,
    j'ai un fichier EXCEL dont je veus appliquer l'alerte comme la foi precedente,mais dans ce cas j'ai mis dans la feuille2 la manière dont l'alerte doit se presenter.
    En plus je veus qu'il est possibilité que cette alerte soit envoyer comme mon rapport à mon superieur.le fichier même se trouve dans la feuille1.
    j'ai mis un exemple du fichier ci dessous.
    je suis à votre disposition plus d'information.
    Salutations

    http://cjoint.com/?3Cns3PO9kBB
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Code à mettre dans la fenetre de This Workbook de l'editeur
      Private Sub Workbook_Open()

      On Error Resume Next

      mes = "MANQUE DATE ATA SITE pour :" & Chr(10) & Chr(10)
      Sheets("Feuil1").Select
      der = Range("L9").End(xlDown).Row 'recherche derniere cellule remplie à partir de L9
      For n = 10 To der 'boucle depuis la ligne 10 jusqu'à la ligne der
      If Cells(n, 13).Value = "N/A" Then ' si N/A en colonne 13 et si date d'aujourdhui est supérieure à la date en colonne 12 -3 ajoute le N° et le nom correspondant dans la variable mes du message à afficher
      If Date >= Cells(n, 12).Value - 3 Then mes = mes & "N°" & Cells(n, 1) & " - " & Cells(n, 3) & Chr(10)
      End If
      Next
      MsgBox (mes)

      D'autre part si tu transmets le fichier complet avec les macros l'alerte s'affichera comme pour toi à l'ouverture du classeur

      J'ai mis les explications pour chaque ligne de macro pour que tu puisses comprendre te adapter au besoin ou savoir en créer une autre

      Bonne suite
      0
  16. CUTUITIOJ
     
    VIA55,
    j'essai d'appliquer la formule mais ça marque toujours "erreur de compilation End Sub attendu"
    et met private sub workbook_open() en jaune.
    Pouvez m'assister ou mettre un exemple dans le fichier.
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Dsl

      c'est normal la dernière ligne de la macro a sauté quand j'ai recopié !!

      Il faut justement écrire End Sub à la ligne sous Msgbox (mes)

      Une macro commence toujours par Sub et le nom de la macro et se termine toujurs par End Sub
      0
  17. CUTUITIOJ
     
    VIA55,
    ça marche mais l'alerte ne s'affiche pas comme le tableau de la feuille2
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      ah je n'avais compris !!
      tu veux que toutes les infos montrees dans le tableau 2 s'affichent dans l'alerte ?
      soit FOURNISSUER ORDER AWB SOUS DOUANE LIVRER DATE DE LIVRAISON TEMPS DE TRANSIT/JOUR ?
      0
  18. CUTUITIOJ
     
    via55,
    exactement
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      OK mais qu'est ce qui declenche l'alerte ?
      la macro que je t'avais indiquée se declenche lorsqu'il n'y pas de date en Feuil 1 dans ATA SITE
      est ce bien ça ?
      dans ce cas les infos LIVRER et DATE LIVRAISON n'ont pas de raison dêtre puisque n'existent que si il ya une date en ATA SITE
      0
  19. CUTUITIOJ
     
    via55,
    dans ce cas la macro ce declenche en tenant en compte lacolonne D.
    je vous expliquer.
    j'ennregistre dans le tableau si j'ai l'elemment de la colonne D qui est le numéro de la LTA et les autres donnés en suivent.
    donc je voudrai que l'element declencheur de l'alerte soit les numeros de la colonne D.
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Il y a chaque fois un N° dans la colonne D (dans l'exemple envoyé du moins) donc l'alerte va se declencher pour TOUTES les lignes
      Pour quelles lignes doit il y avoir alerte ?
      0
  • 1
  • 2