Ne faire apparaître MsgBox qu'une seule fois [Résolu]

nobilis 32 Messages postés vendredi 11 février 2005Date d'inscription 21 mars 2005 Dernière intervention - 21 févr. 2005 à 16:00 - Dernière réponse : nobilis 32 Messages postés vendredi 11 février 2005Date d'inscription 21 mars 2005 Dernière intervention
- 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
Afficher la suite 

6 réponses

Meilleure réponse
nobilis 32 Messages postés vendredi 11 février 2005Date d'inscription 21 mars 2005 Dernière intervention - 21 févr. 2005 à 16:41
3
Merci
YEEES !

Ca fonctionne, grand merci

Merci nobilis 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

phantom_2005 184 Messages postés mercredi 8 décembre 2004Date d'inscription 1 septembre 2010 Dernière intervention - 21 févr. 2005 à 16:10
0
Merci
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
nobilis 32 Messages postés vendredi 11 février 2005Date d'inscription 21 mars 2005 Dernière intervention - 21 févr. 2005 à 16:31
0
Merci
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
phantom_2005 184 Messages postés mercredi 8 décembre 2004Date d'inscription 1 septembre 2010 Dernière intervention - 21 févr. 2005 à 16:36
0
Merci
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
Marnilla 26 Messages postés jeudi 27 janvier 2005Date d'inscription 10 mai 2005 Dernière intervention - 21 févr. 2005 à 16:46
0
Merci
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
nobilis 32 Messages postés vendredi 11 février 2005Date d'inscription 21 mars 2005 Dernière intervention - 22 févr. 2005 à 10:27
0
Merci
Merci pour ton aide Marnilla !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.