XL 2016 Message d'alerte

karen

XLDnaute Nouveau
Bonjour!
J'aimerais avoir un message d'alerte lorsque j'ouvre mon fichier lorsque
Colonne G<=5 : La formation pour (inscrire colonne B+A) est échu
Colonne G<=15 : La formation pour (inscrire colonne B+A) sera bientôt échu
Colonne G<=40 : La formation pour ( inscrire colonne B+A) est à renouveller

Je met le tableau pour mieux comprendre de quoi je parle!

Merci à l'avance...
 

Pièces jointes

  • Formation.xlsx
    50.5 KB · Affichages: 7

xUpsilon

XLDnaute Accro
Bien, reprenons le code et commentons le :
VB:
Private Sub Workbook_Open() 'on affecte la macro à l'événement "le classeur s'ouvre"
For i = 5 To Range("A" & Rows.Count).End(xlUp).Row 'on créé une boucle qui va aller de 5 jusqu'à la dernière ligne du tableau
    If Range("G" & i) <= 40 Then 'si la valeur en G est inférieure à 40
        If Range("G" & i) <= 15 Then 'si elle est en plus inférieure à 15
            If Range("G" & i) <= 5 Then 'si encore encore en plus elle est inférieure à 5
                MsgBox "La formation pour " & Range("B" & i) & " " & Range("A" & i) & " est échue." 'alors on affichage la phrase prévue, en insérant nos éléments des colonnes A et B
            Else
                MsgBox "La formation pour " & Range("B" & i) & " " & Range("A" & i) & " sera bientot échue." 'sinon si <= 15 mais pas <= 5 même principe
            End If
        Else
            MsgBox "La formation pour " & Range("B" & i) & " " & Range("A" & i) & " est à renouveller." 'sinon si <= 40 mais pas <= 15
        End If
    End If 'fin des tests sur la valeur en G de la ligne concernée
Next i 'on passe à la ligne suivante
    
End Sub

Si jamais il y a encore des questions, ne pas hésiter.

Bonne continuation
 

karen

XLDnaute Nouveau
Bien, reprenons le code et commentons le :
VB:
Private Sub Workbook_Open() 'on affecte la macro à l'événement "le classeur s'ouvre"
For i = 5 To Range("A" & Rows.Count).End(xlUp).Row 'on créé une boucle qui va aller de 5 jusqu'à la dernière ligne du tableau
    If Range("G" & i) <= 40 Then 'si la valeur en G est inférieure à 40
        If Range("G" & i) <= 15 Then 'si elle est en plus inférieure à 15
            If Range("G" & i) <= 5 Then 'si encore encore en plus elle est inférieure à 5
                MsgBox "La formation pour " & Range("B" & i) & " " & Range("A" & i) & " est échue." 'alors on affichage la phrase prévue, en insérant nos éléments des colonnes A et B
            Else
                MsgBox "La formation pour " & Range("B" & i) & " " & Range("A" & i) & " sera bientot échue." 'sinon si <= 15 mais pas <= 5 même principe
            End If
        Else
            MsgBox "La formation pour " & Range("B" & i) & " " & Range("A" & i) & " est à renouveller." 'sinon si <= 40 mais pas <= 15
        End If
    End If 'fin des tests sur la valeur en G de la ligne concernée
Next i 'on passe à la ligne suivante
   
End Sub

Si jamais il y a encore des questions, ne pas hésiter.

Bonne continuation

Votre aide est tellement apprécié!! Merci encore
 

GALOUGALOU

XLDnaute Accro
bonjour karen bonjour l e forum
je trouve les solutions excellentes. j'aime bien la solution de sylvanu
pour ce qui me concerne j'aurai rajouté un tri sur la colonne G pour rassembler les personnes arrivant à échéance en premier
cordialement galougalou
 

Discussions similaires

Réponses
8
Affichages
432

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87