Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème Condition

2 réponses
Avatar
alex-m
Bonjour =E0 tous,

J'ai un Userform permettant =E0 l'utilisateur de s=E9lectionner les mois
dont il veut obtenir la synth=E8se. Dans ce Userform, il y a donc 11
cases =E0 cocher repr=E9sentant les mois de F=E9vrier =E0 D=E9cembre. Janvi=
er
=E9tant mis par d=E9faut, la synth=E8se ne pouvant pas s'obtenir sans au
moins le mois de janvier s=E9lectionn=E9. Jusque l=E0 tout va bien.

Mon souci est ma formulation de mes conditions de contr=F4le de
selection, =E0 savoir si une personne coche bien tous les mois F=E9vrier,
Mars, Avril, Mai, Juin, Juillet, Aout, Octobre, Novembre et D=E9cembre
mais pas Septembre, je voulais un msgbox informant la personne que sa
s=E9lection comporte des "Trous, j'a donc =E9crit ceci :

If Me.D=E9cembre =3D True And Me.Novembre.Value <> True Or
Me.Octobre.Value <> True Or Me.Septembre.Value <> True Or Me.Ao=FBt <>
True Or Me.Juillet.Value <> True Or Me.Juin.Value <> True Or
Me.Mai.Value <> True Or Me.Avril.Value <> True Or Me.Mars <> True Or
Me.F=E9vrier.Value <> True Then
MsgBox "Votre s=E9lection comporte des p=E9riodes non chronologiques,
Veuillez selectionner les mois d=E9sir=E9s, afin d'obtenir les synth=E8ses,
SVP"
Exit Sub
End If

J'ai =E9crit 9 autres conditions en otant =E0 chaque fois un Mois, afin de
balayer toutes les conditions (=E0 Savoir que si un mois =E9tait
s=E9lectionn=E9, alors tous les autres mois avant le mois s=E9lectionn=E9
devaient l'etre aussi), et j'ai aussi test=E9 en remplacant les Or par
des And, mais le r=E9sultat obtenu n'es pas mieux.

Merci de votre aide.
Cordialement.
Alex

2 réponses

Avatar
LSteph
Bonjour,

Pourquoi pas cocher une seule fois
Du premier au dernier serait sans doute plus simple,
cela ferait deux coches . Tu déclenche ensuite la synthèse par
commandButton
Cordialement.

--
LSteph

On 7 juin, 11:56, wrote:
Bonjour à tous,

J'ai un Userform permettant à l'utilisateur de sélectionner les mois
dont il veut obtenir la synthèse. Dans ce Userform, il y a donc 11
cases à cocher représentant les mois de Février à Décembre. Jan vier
étant mis par défaut, la synthèse ne pouvant pas s'obtenir sans au
moins le mois de janvier sélectionné. Jusque là tout va bien.

Mon souci est ma formulation de mes conditions de contrôle de
selection, à savoir si une personne coche bien tous les mois Février,
Mars, Avril, Mai, Juin, Juillet, Aout, Octobre, Novembre et Décembre
mais pas Septembre, je voulais un msgbox informant la personne que sa
sélection comporte des "Trous, j'a donc écrit ceci :

If Me.Décembre = True And Me.Novembre.Value <> True Or
Me.Octobre.Value <> True Or Me.Septembre.Value <> True Or Me.Août <>
True Or Me.Juillet.Value <> True Or Me.Juin.Value <> True Or
Me.Mai.Value <> True Or Me.Avril.Value <> True Or Me.Mars <> True Or
Me.Février.Value <> True Then
MsgBox "Votre sélection comporte des périodes non chronologiques,
Veuillez selectionner les mois désirés, afin d'obtenir les synthèse s,
SVP"
Exit Sub
End If

J'ai écrit 9 autres conditions en otant à chaque fois un Mois, afin d e
balayer toutes les conditions (à Savoir que si un mois était
sélectionné, alors tous les autres mois avant le mois sélectionné
devaient l'etre aussi), et j'ai aussi testé en remplacant les Or par
des And, mais le résultat obtenu n'es pas mieux.

Merci de votre aide.
Cordialement.
Alex
Avatar
alex-m
Re bonjour à tous,

Merci LSteph pour ta réponse, mais je ne voulais pas que cela génère
un choix automatique en fonction du dernier mois sélectionné, car s'il
s'agissait d'une erreur de clic sans t'en rendre compte, cela generait
automatique une synthèse "erronnée".
J'ai trouvé la solution à mon problème, en fait j'ai scinder en deux
ma condition en deux if, et la ca fonctionne très bien, en conservant
les Or :

If Me.Décembre = True Then
If Me.Novembre.Value <> True Or Me.Octobre.Value <> True Or
Me.Septembre.Value <> True Or Me.Août <> True Or Me.Juillet.Value <>
True Or Me.Juin.Value <> True Or Me.Mai.Value <> True Or
Me.Avril.Value <> True Or Me.Mars <> True Or Me.Février.Value <> True
Then
MsgBox "Votre sélection comporte des périodes non chronologiques,
Veuillez selectionner les mois désirés, afin d'obtenir les synthèses,
SVP"
Exit Sub
End If
End If

Cordialement.
Alex