Messagebox à l'ouverture

Bonjour la communauté,

Je souhaiterais avoir un messagebox à l'ouverture du fichier qui m'indique si il y a des lignes " Non traitée" et avec une priorité de "1 ou 2" et où elles se trouvent.

Merci de votre aide.

19ano1.xlsx (12.22 Ko)

Bonjour Blondin, bonjour le forum,

Essaie comme ça (à placer dans le composant ThisWorkbook) :

Private Sub Workbook_Open()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau ds Valeurs)
Dim M As String 'déclare la variable M (Message)

Set O = Worksheets("Feuil1") 'définit l'onglet O
TV = O.Range("A7").CurrentRegion 'définit le tableau des valeurs TV
M = "Non traitée : " & Chr(10) & Chr(10) 'initialise le message M
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
    If InStr(1, TV(I, 11), "Non traitée", vbTextCompare) > 0 Then 'condition : si la donnée ligne I colonne 11 (=> colonne K) contient "Non traitée"
        'si la donnée ligne I colonne 12 (=> colonne L) vaut 1 ou 2, modifie le message M
        If TV(I, 12) = 1 Or TV(I, 12) = 2 Then M = M & "Ligne " & I + 6 & ", priorité : " & TV(I, 12) & Chr(10)
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
MsgBox M 'affiche le message M
End Sub
19blondin-v01.xlsm (19.12 Ko)

bonjour,

voilà une solution un peu plus simpliste que ThauThème.

Private Sub Workbook_Open()

For Each cel In Range("K8:K" & Range("K" & Rows.Count).End(xlUp).Row)
    r = cel.Row
    If cel.Value is like "*Non traitée*" Then
    If Cells(r, "L") = "1" Or Cells(r, "L") = "2" Then
        Mat = Mat & ", " & Cells(r, "A")
        Lig = Lig & ", " & r
    End If
    End If
Next cel

MsgBox "Les matricules suivants sont non traités et ont une priorité de 1 ou 2" & Mat & vbLf _
        & "Ce(s) matricule(s) se situe(nt) sur les lignes" & Lig
End Sub

A plus !

Bonjour à vous 2 et merci pour vos propositions .

Braters, avec ton code j'obtiens une erreur sur la ligne

    If cel.Value is like "*Non traitée*" Then

, j'aurais bien aimé voir ce que cela donne.

ThauThème , ton code correspond à ma demande

Pour le moment je ne met pas la coche Validé, on attendant le retour de Braters.

ThauThème ,

Par contre je viens de m'apercevoir si il y aucun status "Non traité" la message box s'affiche quand même.

Serait il possible qu'elle ne s'affiche pas si pas de status " Non traité"?

Re,

Exact, je navet (dans ce cas on peut...) pas remarqué. Remplace la dernière ligne par :

If Len(M) > 16 Then MsgBox M 'affiche le message M

Re,

Merci au top

bonjour,

Voilà le code corrigé !

Private Sub Workbook_Open()

For Each cel In Range("K8:K" & Range("K" & Rows.Count).End(xlUp).Row)
    r = cel.Row
    If cel.Value Like "*Non traitée*" Then
    If Cells(r, "L") = "1" Or Cells(r, "L") = "2" Then
        Mat = Mat & ", " & Cells(r, "A")
        Lig = Lig & ", " & r
    End If
    End If
Next cel
If Mat <> "" Then
MsgBox "Les matricules suivants sont non traités et ont une priorité de 1 ou 2" & Mat & vbLf _
        & "Ce(s) matricule(s) se situe(nt) sur les lignes" & Lig
End If
End Sub

A plus !

Braters a écrit :

bonjour,

Voilà le code corrigé !

Private Sub Workbook_Open()

For Each cel In Range("K8:K" & Range("K" & Rows.Count).End(xlUp).Row)
    r = cel.Row
    If cel.Value Like "*Non traitée*" Then
    If Cells(r, "L") = "1" Or Cells(r, "L") = "2" Then
        Mat = Mat & ", " & Cells(r, "A")
        Lig = Lig & ", " & r
    End If
    End If
Next cel
If Mat <> "" Then
MsgBox "Les matricules suivants sont non traités et ont une priorité de 1 ou 2" & Mat & vbLf _
        & "Ce(s) matricule(s) se situe(nt) sur les lignes" & Lig
End If
End Sub

A plus !

Bonjour Braters,

Merci pour la correction , mais j'obtiens un message d'erreur :

Erreur de compilation:
Sub ou Fonction non définie
8ano1.xlsm (17.64 Ko)

Voila mon fichier, c'est étrange, le mien fonctionne

31ano1.xlsm (18.79 Ko)
Braters a écrit :

Voila mon fichier, c'est étrange, le mien fonctionne

A l'ouverture de ton fichier j'obtiens cela :

sans titre

Je ne saurai pas te dire, j'ouvre le fichier que je t'ai envoyé et chez moi, le message s'affiche correctement !

Au moins, tu as un code qui fonctionne grâce à ThauThème lol

A plus !

Oui exactement Braters, je vais essayer de l'ouvrir sur un autre pc pour voir.

En tout cas merci à toi d'avoir pris le temps

Bonjour le fil, le forum,

Je confirme, le fichier de Blondin plante et pas celui de Braters.

J'ai remarqué, dans le fichier de Blondin, qu'il y avait des caractères "vides" en vidéo inverse (bleu) quand le code plante. Si on supprime tous ces caractères le code fonctionne. Mais je n'ai pas réussi a identifier de quel caractère il s'agissait. Des espaces ?...

ThauThème a écrit :

Bonjour le fil, le forum,

Je confirme, le fichier de Blondin plante et pas celui de Braters.

J'ai remarqué, dans le fichier de Blondin, qu'il y avait des caractères "vides" en vidéo inverse (bleu) quand le code plante. Si on supprime tous ces caractères le code fonctionne. Mais je n'ai pas réussi a identifier de quel caractère il s'agissait. Des espaces ?...

Bonjour la communauté,

Merci ThauThème, grâce à toi le code de Braters fonctionne, il y a un espace devant Non traitée .

Rechercher des sujets similaires à "messagebox ouverture"