Problème avec If

Bonjour le forum,

J'ai un soucis de code dans un If, en fait je voudrais que quand une combobox possède une certaine initiale et que deux autres combobox sont vide ça m'affiche un message et arrête la macro en cours sauf que là ça me le fait même si tout est renseigné. Voici le code en question, si il y a besoin d'un fichier pour exemple je le ferais parvenir ;)

If ComboBox_Poste.Value = "CP" Or ComboBox_Poste.Value = "CPN" Or ComboBox_Poste.Value = "JCN" Or ComboBox_Poste.Value = "HAR" Or ComboBox_Poste.Value = "RSU" Or ComboBox_Poste.Value = "REC" And ComboBox_Dfin = "" And TextBox_Sdate = "" Then
        MsgBox "Saisie incomplète!", 16, "ATTENTION"
        Exit Sub
    End If

Merci d'avance pour vos retours :)

Bonjour,

Pas de PC sur moi, essai avec des parenthèses

If (ComboBox_Poste.Value = "CP" Or ComboBox_Poste.Value = "CPN" Or ComboBox_Poste.Value = "JCN" Or ComboBox_Poste.Value = "HAR" Or ComboBox_Poste.Value = "RSU" Or ComboBox_Poste.Value = "REC") And ComboBox_Dfin = "" And TextBox_Sdate = "" Then 
MsgBox "Saisie incomplète!", 16, "ATTENTION" 
Exit Sub 
End If

Bonjour Moul,

Merci déjà pour la solution même si sans PC ce n'est pas facile ;)

En tout cas je ne savais pas que l'on pouvait utilisé des parenthèses dans If

Je viens de l'essayer et ça fonctionne mais à une exception près, si je ne renseigne pas

TextBox_Sdate

ça continu la macro hors ça devrait la stopper

Et come ca ?

If (ComboBox_Poste.Value = "CP" Or ComboBox_Poste.Value = "CPN" Or ComboBox_Poste.Value = "JCN" Or ComboBox_Poste.Value = "HAR" Or ComboBox_Poste.Value = "RSU" Or ComboBox_Poste.Value = "REC") And ComboBox_Dfin = "" And (TextBox_Sdate = "" or TextBox_Sdate = 0 )Then 
MsgBox "Saisie incomplète!", 16, "ATTENTION" 
Exit Sub 
End If

Toujours pareil ça ne prend pas en compte la condition textbox_Sdate, j'ai même inverser les conditions entre textbox_Sdate et Combobx_Dfin mais sans succès.

Avant l'entrée de ton if met un

msgbox TextBox_Sdate

Voir si il ne cherche pas autre chose...

Parce que la je sèche un peu..

EDIT : J'ai récupéré mon PC donc si tu veux m'envoyer ton fichier

Bonjour

Je m'insère dans ce fil suivi par Moul, mais juste un truc en lisant votre premier post, si vous mettez simplement ceci -->

If combobox_poste.value <> "" and comboBox_Dfin = "" And TextBox_Sdate = "" then
Msgbox....
End if

Attention, il faut considérer que Combo_poste ne peut contenir que les valeurs mentionnées dans votre demande

Cordialement

Bonjour à tous,

Une suggestion ...

If ComboBox_Dfin = "" And TextBox_Sdate = "" Then
    If ComboBox_Poste.Value = "CP" Or ComboBox_Poste.Value = "CPN" Or _
        ComboBox_Poste.Value = "JCN" Or ComboBox_Poste.Value = "HAR" Or _
        ComboBox_Poste.Value = "RSU" Or ComboBox_Poste.Value = "REC" Then
        MsgBox "Saisie incomplète!", 16, "ATTENTION"
        Exit Sub
    End If
End If

ric

Bonjour Dan

Je crois que il y a plein d'initiale et que c'est que pour certaines.

Enfin c'est ce que j'ai compris ..

Mais dans tout les cas c'est bizarre il va falloir déboguer tout ça !

re

@Moul : Possible mais ric a posté une autre approche. Reste plus qu'à thunder23 de tester un peu tout cela ....

Affirmatif !

Toujours présent ce ric

Bonjour Dan, bonjour ric,

Merci pour votre aide mais sans succès pour vos deux solutions :(

@Moul, @Dan, @ ric,

J'ai la sensation que la condition prend en compte tout sauf TextBox_Sdate , voici le fichier en question(le code en question se trouve dans l'UserForm_edit). ;)

Bonjour à tous ...

Un essai ... sans trop de conviction ...

ric

Aprés réflection, c'est normal !

La condition est fausse, on rempli Combobox_Dfin mais pas TextBox_SDate.

Et dans la condition les deux doivent être vide !

Donc solution

If (ComboBox_Poste.Value = "CP" Or ComboBox_Poste.Value = "CPN" Or ComboBox_Poste.Value = "JCN" Or ComboBox_Poste.Value = "HAR" Or ComboBox_Poste.Value = "RSU" Or ComboBox_Poste.Value = "REC") And (ComboBox_Dfin = "" Or TextBox_Sdate = "") Then
    MsgBox "Saisie incomplète!", 16, "ATTENTION"
    Exit Sub
End If

Ohhh purée j'ai honte !!!

Dans ma tête s'était And et non Or, effectivement ça fonctionne mieux ainsi !

Merci beaucoup pour votre aide

Haha bonne continuation !

Rechercher des sujets similaires à "probleme"