Message d'alerte

bonjour

je suis novice sur excel mais je doit l'utiliser tous les jours pour suivre une base de données sur les personnels.

pour me faciliter la tache je voudrai savoir si quelqu'un peut m'aider a créer une alerte via une boite de dialogue pour des dates exemple:

validité de passeport créer une alerte lorsque la date arrive à 2 mois de l'échéance

le message d'alerte doit afficher le nom de la personne concerné et ca pour tout le tableau

j'ai utiliser la mise en forme conditionnel mais elle ne me colorie que la case concerné mon tableau étant trés long je ne la vois pas si je ne la cherche pas, je veux qu'une boîte de dialogue s'affiche à chaque fois que j'ouvre excel.

j'espere que quelqu'un pourra m'aider merci à tous.

Bonjour,

Peux-tu nous joindre un extrait de ton fichier (dans lequel tu auras pris le soin de modifier les noms).

Indique nous également quelles sont les points que tu souhaites contrôler en plus des dates de validité des passeports.

A te (re)lire

@+

bonjour voici un exemple de mon tableaux. bien sur l'original est bien plus grand mais avec des renseignement sans importance

merci

https://www.excel-pratique.com/~files/doc2/Classeur1.xlsx

donc les points sont au tableau

validité contrat,sncf et pourquoi pas une alerte pour les anniversaire a afficher la jour meme

re,

Ton fichier est au format Excel 2007, format que peu d'entre nous peuvent ouvrir (pour le moment).

Merci de rejoindre ton fichier enregistré au format Excel 2003.

A te (re)lire

@+

Bonjour,

Une solution pourrait consister à insérer une colonne pour y mettre un symbole quand la date est à moins de 2 mois et ensuite, utiliser un filtre automatique pour savoir qui est concerné.

Ainsi, en insérant une colonne juste après la colonne E, on pourrait mettre cette formule en F2 :

=SI(DATEDIF(AUJOURDHUI();E2;"m")<2;"*";"")

à recopier vers le bas. On filtrerait ensuite sur les *

Même principe pour les autres critères de contrôle.

Sinon, ta base contient combien de lignes ?

Et quel est le nombre maximum de personnes qui pourraient être concernées en même temps par ce type d'alerte ?

Je songe à faire une zone d'extraction au dessus de ton tableau (en insérant un ... certain nombre de lignes).

@+

bonne idee mais mon tableau contient 53 lignes et une centaine de colonne

il est possible d'afficher le nom de ou des personnes concerné dans une boite de dialogue ou pas?

le nombre de personne peut varier au maximum 15 pour des objet ou colonne differentes

Bonjour,

Un petit fichier exemple qui t'affiche une boite avec les noms.

Veille à ce que tes macros soient activées.

Fichier

Amicalement

Dan

Bonjour,

regarde le fichier joint..

un userform apparaît automatiquement à l'ouverture du fichier, ou lorsque tu appuies sur le bouton vert..

Dans cet userform, les dates d'échéances Passeport (2 mois) et Cartes SNCF (1 an), plus les anniversaires du jour avec leur âge.....

En cliquant sur Export, tu mets dans le 2 ème onglet les échéances (je n'ai pas mis les anniversaires, tu t'en rappelleras......)

Bon courage

https://www.excel-pratique.com/~files/doc2/alerte.xls

merci les gars je vous dit ca plus tard

corve de barbeuc

bonne soiree

et merci

8)

Nad-Dan a écrit :

Bonjour,

Un petit fichier exemple qui t'affiche une boite avec les noms.

Veille à ce que tes macros soient activées.

Fichier

Amicalement

Dan

super ca

comme j'ai dit au debut suis un peu novice si tu pouvai m'expliquer pas a pas la methode pour effectuer cette macro je pourrai la faire pour chaque colonne desirer sur ma base .

merci du temp passer pour moi.

cousinhub a écrit :

Bonjour,

regarde le fichier joint..

un userform apparaît automatiquement à l'ouverture du fichier, ou lorsque tu appuies sur le bouton vert..

Dans cet userform, les dates d'échéances Passeport (2 mois) et Cartes SNCF (1 an), plus les anniversaires du jour avec leur âge.....

En cliquant sur Export, tu mets dans le 2 ème onglet les échéances (je n'ai pas mis les anniversaires, tu t'en rappelleras......)

Bon courage

https://www.excel-pratique.com/~files/doc2/alerte.xls

merci

bon pour ce souvenir des dates de 50 personnel c'est un peu cho....

ton truc est tres bien tu pourrai m'expliquer comment tu fait pour que je reproduise cela sur ma vrai base de donnee

merci pour ce temp donné

Re-,

bon pour ce souvenir des dates de 50 personnel c'est un peu cho....

je ne pense pas que les 50 aient leur anniversaire le même jour......

Normalement, si ta base de données est conforme à l'exemple que tu as fourni, tu n'as qu'à copier l'onglet de ta base de données dans mon fichier, nommer le 1er onglet "base", et laisser l'onglet "Export"

Pour insérer le bouton, tu insères un dessin de la barre d'outils dessins, clic droit, affecter une macro, et tu choisis la macro "alerte"

si ta base est différente, joins un exemple avec la structure réelle de ta base...notemment les en-têtes de colonnes...

Bonne soirée

cousinhub a écrit :

Rep

si ta base est différente, joins un exemple avec la structure réelle de ta base...notemment les en-têtes de colonnes...

ok alors si je peut compter sur toi je te remet ma base complete bien sur juste les entetes lundi soir

merci bonne soiree

cousinhub a écrit :

Re-,

bonsoir très bien la boite de dialogue.pour l'utiliser j'ai creer des lien hypertexte qui la relie a ma base et voila pas besoin de la modifier.

juste tu va me trouver exigent, et je te remerci du travail effectuer, mais si tu pouvai modifier la date pour les cartes sncf et la reduire a 2 mois egualement

merci mille fois.

voici une copi de ton travail:

https://www.excel-pratique.com/~files/doc2/alerte_2_.xls

Bonsoir,

Réduire la carte SNCF à 2 mois, OK, mais il me semble que le temps de traitement est plus long...

Sinon, dans le code d'initialisation de l'USF, tu remplaces le code :

If DateValue(Cel) < DateSerial(Year(Date) + 1, Month(Date), Day(Date)) Then

par celui-ci :

 If DateValue(Cel) < DateSerial(Year(Date), Month(Date) + 2, Day(Date)) Then

Pour ce faire, tu ouvres l'éditeur VBE (Alt + F11)

A gauche, tu vois "Feuilles" : clique sur la petite croix

double-clic sur Userform1, puis double-clic dans une partie vide de l'USF (Userform)

Cherche la ligne :

Set EcheanceSncf = CreateObject("Scripting.Dictionary")

la ligne à remplacer est située 2 lignes en dessous

Bon courage

Re-,

et en complément, je n'avais pas prévu le cas où il n'y aurait pas de passeports, ni de cartes Sncf à traiter..

Avec la même procédure que ci-dessus, remplace toute cette partie de code :

    temp1 = Application.Transpose(EcheancePsP.keys)
    Temp2 = Application.Transpose(EcheancePsP.items)
    For I = 1 To EcheancePsP.Count
        Me.ListBox1.AddItem
        Me.ListBox1.List(I, 0) = Temp2(I, 1)
        Me.ListBox1.List(I, 1) = Cells(temp1(I, 1), 5)
    Next I
Set EcheanceSncf = CreateObject("Scripting.Dictionary")
For Each Cel In Range("G2:G" & Derlig)
    If DateValue(Cel) < DateSerial(Year(Date), Month(Date) + 2, Day(Date)) Then
        EcheanceSncf.Item(Cel.Row) = Cel.Offset(0, -6).Value
    End If
Next Cel
    temp3 = Application.Transpose(EcheanceSncf.keys)
    Temp4 = Application.Transpose(EcheanceSncf.items)
    For I = 1 To EcheanceSncf.Count
        Me.ListBox2.AddItem
        Me.ListBox2.List(I, 0) = Temp4(I, 1)
        Me.ListBox2.List(I, 1) = Cells(temp3(I, 1), 7)
    Next I

par celle-ci :

If EcheancePsP.Count > 0 Then
    temp1 = Application.Transpose(EcheancePsP.keys)
    Temp2 = Application.Transpose(EcheancePsP.items)
    For I = 1 To EcheancePsP.Count
        Me.ListBox1.AddItem
        Me.ListBox1.List(I, 0) = Temp2(I, 1)
        Me.ListBox1.List(I, 1) = Cells(temp1(I, 1), 5)
    Next I
End If
Set EcheanceSncf = CreateObject("Scripting.Dictionary")
For Each Cel In Range("G2:G" & Derlig)
    If DateValue(Cel) < DateSerial(Year(Date), Month(Date) + 2, Day(Date)) Then
        EcheanceSncf.Item(Cel.Row) = Cel.Offset(0, -6).Value
    End If
Next Cel
If EcheanceSncf.Count > 0 Then
    temp3 = Application.Transpose(EcheanceSncf.keys)
    Temp4 = Application.Transpose(EcheanceSncf.items)
    For I = 1 To EcheanceSncf.Count
        Me.ListBox2.AddItem
        Me.ListBox2.List(I, 0) = Temp4(I, 1)
        Me.ListBox2.List(I, 1) = Cells(temp3(I, 1), 7)
    Next I
End If

Bon courage

cousinhub a écrit :

la ligne à remplacer est située 2 lignes en dessous

ce qui est fait

j'avais fouiller un peu et j'avait compris le truc et la

alerte 13 incompatibilite de type

desole

Re-,

la réponse dans le fil au dessus...

Bonne soirée

Rechercher des sujets similaires à "message alerte"