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!
Wow!!!!!
Je n'en reviens pas de voir la vitesse à lequel vous avez fait ça!!! Et dire que je me suis couché au petite heure du matin pour trouver comment faire!! Merci mille fois
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.
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.
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
Je suis bouce bée.....
Est ce que c'est possible que le message d'alerte sois par page.... car le message apparaît pour la page qui est active à l'ouverture seulement...
Je ne sais pas si je m'explique comme il faut..
Il suffira alors de faire une boucle de 1 à Worksheets.Count qui englobe le code déjà existant, et à chaque passage on applique un Worksheets(_).Activate.
1- Déjà en PJ, un peu mieux figolé ( dans le cas où il n'y aurait personne dans une catégorie )
2-Tout dépend de comment on repère les pages ( noms par exemple )
Il suffira alors de faire une boucle de 1 à Worksheets.Count qui englobe le code déjà existant, et à chaque passage on applique un Worksheets(_).Activate.