Alerte en cas de dépassement de jours


#1

Je gère une association, chaque membre s"engage à s’investir, au minimum tous les 45 jours.
Il y a-t-il une possibilité pour que, à l’ouverture du fichier un signal sonore retentisse, et éventuellement une fenêtre d"alerte s’ouvre, pourquoi pas les deux, si les 45 jours sont dépassés.
Alerte.xlsx (11,4 Ko)


#2

Bien sur il manque le bonsoir, et merci d’avance, sur le message précédent, maudit copier collerAlerte.xlsx (11,4 Ko)

Je gère une association, chaque membre s"engage à s’investir, au minimum tous les 45 jours.
Il y a-t-il une possibilité pour que, à l’ouverture du fichier un signal sonore retentisse, et éventuellement une fenêtre d"alerte s’ouvre, pourquoi pas les deux, si les 45 jours sont dépassés.


#3

Bonsoir @Bobbyboit,

Bien vu :blush:

Je ne suis pas sur de pouvoir répondre “au signal sonore”, j’ai lu pas mal de sujets là dessus, ça semble compliqué.

Ça, c’est sans doute réalisable avec une boîtes de dialogue du genre “MsgBox”.

Je regarderai ce que je peux faire, un peu de patience, car je n’aurai pas beaucoup de temps ce week-end.

Cordialement.


#4

Bonsoir

Et merci de bien vouloir s’occuper de mon problème,

En attendant bon week-end, peut-être dans la neige.

Cordialement,

Merci


#5

Bonjour @Bobbyboit,

Voici une proposition avec un code VBA placé dans ThisWorkbook et s’appliquant pour la “Feuil1”.

À l’ouverture du fichier si dans la colonne “F” >=45 jours alors une “MsgBox” indique le message “A dépassé les 45 jours” et reprend le “Prénom” de la colonne “D”.

Code VBA:

Private Sub Workbook_Open()

    With Sheets("Feuil1")
     For lig = 4 To .Cells(Rows.Count, 4).End(xlUp).Row
        If .Cells(lig, 6) >= 45 Then ch = ch & vbCr & .Cells(lig, 4)
     Next lig
    End With
    
 MsgBox "A dépassé les 45 jours" & vbCr & ch
 
End Sub

Je n’ais pas réussi a associer une alerte sonore.

Ton fichier en retour ICI==> Bobbyboit Alerte.xlsm (18,9 Ko)

Cordialement.


#6

Bonsoir MDO 100, et merci
Bonsoir à tout le forum
Cela marche
Mais quand on me donne la main, j’essaie d’avoir le bras avec
Alors deux questions
Un :
Si personne n’est en retard est-ce possible que la fenêtre ne s’ouvre pas ?
Deux :
Le fichier joint est une création perso
Le vrai fichier (que j’ai hérité en voulant prendre le poste de président de cette association, sans but lucratif, loi 1901) est composé de plusieurs onglets avec énormément de données personnelles (Adresse mail, téléphone, profession, date de naissance, facture, etc.)
Je ne peux donc pas le diffuser (de plus très lourd, 9046 ko.
Dans ce fichier, il se trouve de nombreuses macros.
Dont une venant du forum (chiffre en lettres, arrivant de toi si ma mémoire est bonne)
Eh oui, j’ai aussi des factures à faire.
J’arrive à ma deuxième question
Comment ouvrir this worbook, (ALT + F11 ne s’ouvre pas sur This worbook) et copier ta macro
Cela ne va-t-il pas perturber le fichier ?
Après comme cela me semble compliquer, par rapport à mes faibles connaissances d’Excel, j’abandonnerais ce projet et je continuerai à faire défiler la liste (tout n’est pas visible sur un onglet)
Les retardataires sont en rouge donc repérables.
Encore merci
Cordialement,


#7

Re @Bobbyboit,

Effectivement j’avais omis cette option, donc j’ai modifié le code en conséquence, le voici toujours placé dans ThisWorkbook:

Private Sub Workbook_Open()
Dim pl As Range

    Set pl = Range("F5:F65000")
        For Each pl In Range("F5:F65000")
            If pl >= 45 Then
                cpt = cpt + 1
            End If
        Next
        
    If cpt = 0 Then
        Exit Sub
        
Else

    With Sheets("Feuil1")
     For lig = 4 To .Cells(Rows.Count, 4).End(xlUp).Row
        If .Cells(lig, 6) >= 45 Then ch = ch & vbCr & .Cells(lig, 4)
     Next lig
    End With
    
 MsgBox "A dépassé les 45 jours" & vbCr & ch
 
    End If

End Sub

Pour accéder au code dans ThisWorkbook, après avoir fait alt + F11 suivre la procédure dans l’image ci-dessous:

Normalement non sauf si tu as déjà une procédure commençant par:

Private Sub Workbook_Open()

Auquel cas, il faudra intégrer le code fourni au code déjà existant.

Ta mémoire ne te fait pas défaut :wink:

Voici le fichier modifié ICI==> Bobbyboit Alerte V2.xlsm (19,8 Ko)

Bonne soirée.
Cordialement.


#8

Bonjour
Avec tes explications très précises, j’arrive au bout de mes peines.
Encore un besoin.
Le résultat (plus de 45) est inscrit en colonne AO pas de soucis j’ai corrigé la macro.
Les noms de mes « petits monstres » qui me font bien des misères sont inscrits dans la colonne AM
Que dois-je changer (toujours dans la macro) pour les voir apparaître dans la fenêtre.
J’espère ne pas trop abuser de ta patience.
Merci
Cordialement,


#9

Bonjour @Bobbyboit,

Dans ce cas:

Private Sub Workbook_Open()
Dim pl As Range

    Set pl = Range("AO5:AO65000")
        For Each pl In Range("AO5:AO65000")
            If pl >= 45 Then
                cpt = cpt + 1
            End If
        Next
        
    If cpt = 0 Then
        Exit Sub
        
Else

    With Sheets("Feuil1")
     For lig = 4 To .Cells(Rows.Count, 39).End(xlUp).Row
        If .Cells(lig, 41) >= 45 Then ch = ch & vbCr & .Cells(lig, 39)
     Next lig
    End With
    
 MsgBox "A dépassé les 45 jours" & vbCr & ch
 
    End If

End Sub 

Fichier exemple ICI==> Bobbyboit Alerte V3.xlsm (17,1 Ko)

Si ton problème est résolu n’oublie pas de cliquer sur le petit :white_check_mark: sous la solution pour la valider.

Cordialement.


#10

Bonjour,
Affaire réglée
Merci à tous ceux qui mettent leurs compétences aux services des autres, et principalement dans ce cas-là, merci à mdo100. Mon problème est résolu, alors quel bonheur de ne plus avoir à consulter (aujourd’hui un simple coup d’oeil suffi) plusieurs pages pour identifier une éventuelle anomalie.
Cordialement et …… À bientôt !!!


#11

Bonsoir mdo100

Depuis cette année je ne peux plus créer de sujet (voir document joint) sur le forum.

J’essaie depuis le début de la soirée, sans succès.

Alors, je me permets de le faire par mail, peut-être pourras-tu me dépanner et le publier sur le forum.

Bien sûr je suis persuadé que la résolution sera un jeu d’enfant pour toi

Je te joins le fichier Excel, et je renouvelle toutes mes excuses, pour ne pas avoir respecté le protocole

Je profite pour présenter mes vœux, à toi, tout tes proches et à tout le forum

Cordialement,

.

Format date.xlsx (11.3 KB)


#12

Bonjour @Bobbyboit,

Je ne vois pas comment résoudre ce problème, j’avoue que moi même parfois je rencontre des difficultés bizarres.

Voir ce sujet: Problème défilement dans les réponses

En ce qui concerne ton fichier.

En “F3”

=(SI(D3+1-B3;TEXTE(DATEDIF(B3;D3+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(B3;D3+1;"ym");"[>] 0"" mois "";"))&TEXTE(DATEDIF(B3;D3+1;"md");"[>1]0"" jours "";[>]""1 jour "";"))

Cette formule tient compte des années bissextile.

Ton fichier en retour ICI==> Bobbyboit Format date.xlsx (14,0 Ko)

Mes meilleurs vœux pour ta famille et toi en cette nouvelle année 2018.

Cordialement.


#13

Bonjour,

Houla là quand je vois la formule, j’ai des frissons, et ce n’est pas la grippe.

Je me rends compte que j’ai perdu deux heures hier soir, car jamais je ne serais arrivé à ce résultat

Tout simplement sublime…

J’abuse, mais la formule (en rouge) sur le fichier est-elle juste en considérant les années bissextiles ?

Un merci est facile, alors j’en joins autant que nécessaire.

Cordialement,

Bobbyboit Format date (4).xlsx (12.6 KB)


#14

Re @Bobbyboit,

Pour moi:

En “F22”

=(SI(AUJOURDHUI()+1-B22;TEXTE(DATEDIF(B22;AUJOURDHUI()+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(B22;AUJOURDHUI()+1;"ym");"[>] 0"" mois "";"))&TEXTE(DATEDIF(B22;AUJOURDHUI()+1;"md");"[>1]0"" jours "";[>]""1 jour "";"))

Ce qui donne 18 ans 7 mois 10 jours, en jour entier au lieu de 18 ans, 7 mois et 9 jours, en jour négatif.

Ce qui change fondamentalement la naissance du monde :wink:, je blague, non la formule en plus de l’exactitude permet comme tu l’as vu d’indiquer ou l’année, ou le mois, ou le jour où 2 à la fois ou 3 à la fois etc…, ce qui permet d’avoir le minimum d’informations sans fioriture.

Mais ta formule au jour près n’est pas fausse, puisqu’en année absolue, elle tombe juste, ce qui ne me rajeuni donc pas :crazy_face:

Cordialement.


#15

Bonsoir,

Comme d’habitude, affaire classée et rapidement (moins de 12 heures)

Merci, et à bientôt,

Cordialement,


#16

Bonjour,

Comme d’habitude je n’ai pas pu créer le sujet sur le forum, alors comme d’habitude je contourne le problème

Voilà ce que j’ai essayé de faire passer au forum

Titre

Personnalisé un format de cellule avec une macro

Sujet

Bonjour,

Je continue à modifier un fichier (héritage d’une association), alors j’ai encore besoin de vos compétences.

Bon, dans ce cas pas la peine de se prendre la tête, ce n’est qu’une question d’esthétique.

Le problème :

Quand je clique sur le bouton “1” (voir fichier ci-joint) je souhaiterais que le format des cellules “D7:D35” soit personnalisé de la façon suivante, nombre trois chiffres après la virgule 0,000;;;@.

Merci par avance

Cordialement,

Modification d’un format.xlsx (10.6 KB)


#17

Bonjour
Quel navigateur utilises-tu?


#18

Salut doc,

Merci de te pencher sur mon problème.

Réponse :

Google Chrome

Windows 7

PACK OFFICE 2016

Je restaure un fichier Excel très lourd 64 402 Ko

Et j’aurais bien besoin de vos compétences

Je joins des captures d’écran

Cordialement,