XL 2016 Message d'alerte

  • Initiateur de la discussion Initiateur de la discussion karen
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
257
Réponses
38
Affichages
889
Réponses
13
Affichages
203
Réponses
5
Affichages
377
Retour