Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Succession de Or

  • Initiateur de la discussion Initiateur de la discussion lex69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lex69

Guest
Bonjour je suis actuellement en stage, et j'ai le début de ma formule qui ne fonctionne pas, il me semblait qu'elle fonctionné jusqu'a maintenant et cela est très embétant!

Voila la partie de ma formule qui ne fonctionne pas :

Code:
  'choix de la feuille ou la formation doit être écrite
    categ = InputBox("Veuillez saisir le type de la formation (CACES, HABILITATION ELECTRIQUE, SECURITE, NUCLEAIRE ou DIVERS)")
    While Not categ = "SECURITE" Or categ = "HABILITATION ELECTRIQUE" Or categ = "CACES" Or categ = "DIVERS" Or categ = "NUCLEAIRE"
        categ = InputBox("Veuillez saisir le type de la formation (CACES, HABILITATION ELECTRIQUE, SECURITE, NUCLEAIRE ou DIVERS)")
    Wend

La condition de la boucle n'est accepeté que si categ = "SECURITE", je suppose donc que la fonction "Or" ne fonctionne pas, ou que je ne la comprend pas !?
 
Re : Succession de Or

Bonjour Lex69 🙂,
Le Not ne s'applique qu'au premier membre 😛, tu peux par exemple mettre des parenthèses
Code:
categ = UCase(InputBox("Veuillez saisir le type de la formation (CACES, HABILITATION ELECTRIQUE, SECURITE, NUCLEAIRE ou DIVERS)"))
While Not (categ = "SECURITE" Or categ = "HABILITATION ELECTRIQUE" Or categ = "CACES" Or categ = "DIVERS" Or categ = "NUCLEAIRE")
    categ = UCase(InputBox("Veuillez saisir le type de la formation (CACES, HABILITATION ELECTRIQUE, SECURITE, NUCLEAIRE ou DIVERS)"))
Wend
D'autre part, je te conseille d'ajouter le UCase tel que je l'ai mis, du coup, caces sera transformer en CACES par exemple 🙄...
Bon courage 😎
 
Re : Succession de Or

Bonjou Il suit un tableau dont la structure n'est pas préservée une fois collé ici entre balises et qui montre que Not est le plus prioritaire des opérateurs logiques. si vous voulez que vos And soient prioritaires sur le Not de début mettez tout ce qui suit le Not entre parenthèses
À+
 
Re : Succession de Or

Salut lex69,

Perso j'utiliserai plutôt un select case au lieu d'une succession de Or toujours un peu compliqué à décortiquer. Ah, et j'utiliserai un Do...Loop aussi 😉

Code:
Do
categ = InputBox("Veuillez saisir le type de la formation (CACES, HABILITATION ELECTRIQUE, SECURITE, NUCLEAIRE ou DIVERS)")
Select Case categ
    Case "SECURITE", "HABILITATION ELECTRIQUE", "CACES", "DIVERS", "NUCLEAIRE"
        Exit Do
    Case ""
        Exit Sub    'Clic sur annuler, on sort de la sub !
    Case Else
        MsgBox "Saisie incorrect", vbInfo + vbOKOnly, "Erreur"
End Select
Loop

Bon courage,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
384
Réponses
10
Affichages
1 K
Réponses
32
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…