Comprehension de l utilisation d une var.booléenne

ode:

Dim continue As Boolean

continue = True

If continue = True Then MsgBox "Boolean variables are cool"onjour , j aimerai avoir vos lumières sur la petit bout de code suivant

quand on initialise la variable "continu" a true , le fait d ecrire if continu = true me pose probleme , pourquoi poser une condition sur une variable qui est deja fixee pour sont etat , celle ci peut elle changer d etat toute seule ?c est ce que je comprend...

merci pour vos explications


désolé ; envoyant ce message depuis mon smartphone une partie de la presentation de ma question n est pas apparue j espere que toutefois vous comprendrez le sens de ma question merci

Bonjour,

Par défaut une variable Booléenne est initialisée à False si tu change sa valeur à True, tu n'as pas besoin d'effectuer un test juste après avec If Then car elle a forcément la valeur True. Le test est nécessaire si entre le moment où tu la mets à True et le moment où tu la teste sa valeur peut changer. Dans ton exemple, le test n'a aucun intérêt puisque tu l'as mis à True juste avant !

Bonjour Theze, (rocket4)

De ce que je comprends de la question... voici le pourquoi du comment !

Comme le dit si bien rocket4 une variable Booléenne est (par défaut) considérée comme Fausse si elle n'est pas initialisée.

Donc effectivement le code

Dim continue As Boolean

continue = True

If continue Then blabla

sera toujours exécuté !

cependant je pense qu'en réalité tu veux parler d'un code qui doit ressembler à quelque chose comme ça :

Dim conitnue As Boolean

' un bout de code ici
' puis à un endroit il y a :

conitnue = True

' ici un autre bout de code
' où continue pourrait tout à fait passer à FAUX selon les différents tests, ou résultat de fonctions
' puis finalement le test qui te pose problème :

If continue Then
'le code 
EndIf

Ce qui revient à dire "au début" on considère "qu'il faut faire le test... mais finalement on verra bien ce qui passe !

Je pense que cette initialisation à VRAI (True) a été faite pour forcer le test ! je veux dire par là pour la "logique" de lecture...

Si continuer Alors

Est plus facile à lire que

Si Non continuer Alors

Ce qui veut dire que l'on considère qu'il est logique de continuer le traitement dans ce cas là !


Il s'agit peut-être aussi et tout simplement d'un test de débugage mis en place par le créateur de la macro-cmde concernée, pour vérifier le parcours de son code ! ou encore d'un exemple de code qui ne dit pas tout ce qu'il fait... j'en pense par exemple à un truc typique de ce genre de test :

Dim continue As Boolean

' au lieu de 
continuer = True
' il y  a dans la réalité
continuer = (MsgBox("Voulez-vous Effacer les données ?",vbYesNo,"Attention les données seront perdues !") = vbYes)
' mais pour pouvoir vérifier que le code fonctionne comme souhaité le MsgBox est enlevé

' puis finalement le test lui même
If continuer Then
' effacer toutes les données puisque l'utilisateur a dit oui !
EndIf

Bref, pas mal d'hypothèses et autant de réponses possibles... Cependant avec l'exemple où tu as trouvé ce code, il nous serait plus simple de té répondre !

Merci inifniment pour vos réponses je vais voir ca de prè

Rechercher des sujets similaires à "comprehension utilisation var booleenne"