Ne faire apparaître MsgBox qu'une seule fois

Résolu
nobilis Messages postés 32 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 21 mars 2005 - 21 févr. 2005 à 16:00
nobilis Messages postés 32 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 21 mars 2005 - 22 févr. 2005 à 10:27
Bonjour à tous,

Voici mon problème :
Je voudrais faire apparaître une MsgBox("Attention ! Jacques sera absent aujourd'hui") dès qu'une cellule de ma 12ème ligne contient la valeur "Ma" ou "Co" ou "Re". Cette MsgBox ne doit apparaître qu'une seule fois. Pour l'instant, mon programme répète la MsgBox pour chaque colonne contenant ces valeurs.

Merci d'avance pour votre aide

Voici mon programme :

For li_col = 3 To 26 'Parcourt les colonnes C à Z If Cells(12, li_col).Value "Ma" Or Cells(12, li_col).Value "Co" Or Cells(12, li_col).Value = "Re" Then
attention = MsgBox("Attention ! Jacques sera absent aujourd'hui")
End If
Next

Nobilis
A voir également:

6 réponses

nobilis Messages postés 32 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 21 mars 2005 1
21 févr. 2005 à 16:41
YEEES !

Ca fonctionne, grand merci
1
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
21 févr. 2005 à 16:10
Declare un Boolean DejaAffichee

For li_col = 3 To 26 'Parcourt les colonnes C à Z If Cells(12, li_col).Value "Ma" Or Cells(12, li_col).Value "Co" Or Cells(12, li_col).Value = "Re" And Not DejaAffichee
Then
attention = MsgBox("Attention ! Jacques sera absent aujourd'hui")
DejaAffichee = True
End If
Next

J'espère que ca répond a ta question
@+


--------------------------------------------------------------------------------
Phantom_2005
0
nobilis Messages postés 32 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 21 mars 2005 1
21 févr. 2005 à 16:31
Merci Phantom.

Je viens d'essayer avec le prog ci-dessous mais ça ne fonctionne pas. La boîte apparaît toujours autant de fois qu'il y a de cellules remplies.

Dim DejaAffichee As Boolean


For li_col = 3 To 26 'Parcourt les colonnes C à Z If Cells(12, li_col).Value "Ma" Or Cells(12, li_col).Value "Co" Or Cells(12, li_col).Value = "Re" And Not DejaAffichee Then
attention = MsgBox("Attention ! Jacques sera absent aujourd'hui")
DejaAffichee = True
End If
Next
0
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
21 févr. 2005 à 16:36
peut etre :


For li_col = 3 To 26 'Parcourt les colonnes C à Z If ( Cells(12, li_col).Value "Ma" Or Cells(12, li_col).Value "Co" Or Cells(12, li_col).Value = "Re" ) And Not DejaAffichee Then
attention = MsgBox("Attention ! Jacques sera absent aujourd'hui")
DejaAffichee = True
End If
Next li_col


--------------------------------------------------------------------------------
Phantom_2005
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Marnilla Messages postés 26 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 10 mai 2005
21 févr. 2005 à 16:46
Bonjour Nobilis,

Je ne sais pas à quoi te sert ta variable "attention" maistu peux toujours essayer ça :

attention="" ' initialise la variable ( de préférence)

For li_col = 3 To 26 'Parcourt les colonnes C à Z If ((Cells(12, li_col).Value "Ma" Or Cells(12, li_col).Value "Co" Or Cells(12, li_col).Value = Re") and (attention <> "")) Then
attention = MsgBox("Attention ! Jacques sera absent aujourd'hui")
End If

Next

Tu peux toujours essayer ça quelques fois les parenthèses ont leur importance.

Sinon si ton programme s'arrete là :

For li_col = 3 To 26 'Parcourt les colonnes C à Z If Cells(12, li_col).Value "Ma" Or Cells(12, li_col).Value "Co" Or Cells(12, li_col).Value = Re") Then
attention = MsgBox("Attention ! Jacques sera absent aujourd'hui")
End If

if attention <> "" then
Exit Sub ' te permet de sortie de la procédure
end if

Next

Cordialement Marnilla
0
nobilis Messages postés 32 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 21 mars 2005 1
22 févr. 2005 à 10:27
Merci pour ton aide Marnilla !
0
Rejoignez-nous