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

Pourquoi 3 + VRAI = 2 ?

62 réponses
Avatar
Gouap
Bonsoir,

je ne comprends pas pourquoi quand j'additionne le résultat d'une macro qui
retoure la valeur "Vrai" à une autre valeur positive, je me retrouve avec ma
veleur positive - 1 au lieu de +1.

A = 3 + "Vrai" = 2
A = -3 + "Vrai" = -4

Avez vous une explication à ce phénomène ?

2 réponses

3 4 5 6 7
Avatar
Jacquouille
...Dont vous mangeâtes mes 3 portions? (photos à l'appuis)

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"LSteph" a écrit dans le message de news:

;o)) oui c'est bien cette soupe là, ...miam!

Amicales Salutations

On 16 sep, 16:04, "Jacky" wrote:
Il est VRAI que
3* Viandes *VRAI+BeaucoupLégumes*VRAI+VinBlanc*VRAI
Le tout sans Cancel
= ?????

--
Salutations
JJ

"LSteph" a écrit dans le message de news:

;o)

Certes parfois comme de vieux complices,
mais ces histoires de goupillon
quelques rides sans doute là aussi!
Sinon le temps passé n'est jamais perdu !
L'avenir est toujours devant...
Et l'on ne va pas dire de mal de la soupe, pourquoi pas
il me semble vers l'EST servie avec surtout de la viande!

On 16 sep, 12:47, "Jacquouille" wrote:



> Salut la foule
> Ah, que je revis en lisant ce fil.
> Rien de tel qu'une petite menace et les défenseurs de la Patrie sortent.
> J'ai beaucoup de plaisir à vous lire.
> Il ne manque qu'un petit coup de goupillon. -)
> Encore merci, mais que de temps perdu pour faire 1+1=2 .....-)

> --
> Bien amicalmement,
> "Le vin est au repas ce que le parfum est à la femme."

> Jacquouille.

> "LSteph" a écrit dans le message de news:
>
> Et si l'on reste vraiment en booleen même plus besoin d'ailleurs de
> FormulaLocal
> Comme quoi on sait pas toujours ce qu'on fait, encore plus simple, 1 :

> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
> As Boolean)
> Cancel = True
> Target = Cancel

> End Sub

> On 16 sep, 11:50, LSteph wrote:

> > Bonjour,

> > A noter que l'on peut seplacer d'un coté ou de l'autre
> > si l'on s'en tien à la valeur booleene et qu'on respecte le contexte
> > local
> > c'est comme un et un font deux
> > Exemple:

> > Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
> > As Boolean)
> > cancel=true
> > Target.FormulaLocal = "=" & True & "+" & True
> > End Sub

> > 'ou bien pour rire un peu et faire tordu

> > Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
> > As Boolean)
> > Cancel = True
> > Target.FormulaLocal = "=" & Cancel & "+" & Cancel
> > End Sub

> > 'lSteph

> > On 16 sep, 09:33, "JérômeC" wrote:

> > > >;o)))
> > > >chaque langage posséde sa grammaire !!!!
> > > >et ici le langage macro VBA(US) est différent du langage EXCEL
> > > >formule
> > > >feuille de calcul(FR)

> > > Ah oui, j'avais oublié ça !

> > > Écrire en formule en VBA, c'est l'écrire en version US, donc
> > > s'amuser
> > > à
> > > aller sur le net pour deviner la traduction en anglais, et utiliser
> > > les
> > > bons
> > > séparateurs pour les paramètres (virgule si je me souviens bien, au
> > > lieu
> > > de
> > > point-virgule).

> > > Quand j'ai découvert ça, j'étais en rage, avant de comprendre que
> > > tout
> > > était
> > > en français, sauf le langage...- Masquer le texte des messages
> > > précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte des
> > messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des
> messages précédents -

- Afficher le texte des messages précédents -


Avatar
JérômeC
>> Ce que je veux montrer, c'est simplement qu'il faut savoir ce qu'on fait.
Or
si ce sujet a commencé, c'est bien qu'au départ Gouap ne savait pas
exactement ce qu'il faisait,





Et bien sois rassuré ainsi que Gouap, nombre des personnes que je vois
dans ce fil et qui ont réussi souvent de grandes choses, j'en suis
convaincu savaient souvent où ils voulaient aller mais pas forcément
toujours ce qu'ils faisaient et c'est pourtant souvent ainsi qu'ils
sont parvenu à des prouesses.



Savoir où on va est la moindre des choses.

Ne pas savoir ce qu'on fait, on tatonne tous un peu.

Mais je vois de temps en temps des personnes qui sont satisfaites dès
qu'elles ont un résultat. Pour un Gouap qui pose une question, combien y
a-t-il de personnes qui ne posent pas de question, voir même qui ne
remarquent pas le problème ?

Certes je suis pessimiste, mais au moins ça nous permet d'échanger quelques
recette de cuisine bien sympa :D


++
Jérôme






Cordialement.
--
lSteph


On 16 sep, 09:24, "JérômeC" wrote:
Misange,

Ce que je veux montrer, c'est simplement qu'il faut savoir ce qu'on fait.
Or
si ce sujet a commencé, c'est bien qu'au départ Gouap ne savait pas
exactement ce qu'il faisait, sinon la question n'aurait pas été posée.
Dans
cette discussion, j'ai relevé quelques exemples où on est obligé de tester
sur un exemple simple pour savoir ce que ça fait. En tout cas moi je
n'arrive pas à comprendre comment ça se passe.

Si toi tu programme en sachant ce que tu fais, c'est le principal, et tant
mieux même ! Professionnels, amateur, vrais et faux utilisateurs le
principal est de savoir ce qu'on demande à ce logiciel.

Et le principal est quand même que c'est une discussion qui sort du commun
et qui nous amuse beaucoup.

Bien amicalement

--

Jérôme C
"Misange" a écrit dans le message de news:




> Bonjour Jérome

> J'ai du mal à saisir ce que tu veux démontrer et tes exemples poireaux
> carottes me donnent faim mais c'est tout.
> Qui a dit que VBA était THE langage de programmation parfait ?
> Que les VRAIS programmateurs, ceux qui ont besoin d'un langage super
> robuste, imposant des types de variables non convertibles à la volée,
> avec
> un contrôle d'erreur très pointu... n'utilisent pas VBA c'est une
> certitude et je préfère que la trajectoire des missiles ne soit pas
> calculée dans un tableur...
> Mais excel et son VBA n'est pas fait pour ces gens là. Et il offre une
> souplesse qui permet de faire assez simplement ce qui serait
> inaccessible
> à des non informaticien. Tu sais moi le coup des informaticiens qui
> causent aux informaticiens ça me laisse de glace.
> Ton exemple ou tu remplaces les vrais et les faux par des 0 ou des 1
> ajoutés dans la colonne voisine montre que tu ne vois pas quels usages
> les
> VRAIS utilisateurs d'excel (boutade !) font de ce tableur.
> Je voudrais que tu voies certains tableaux, tu comprendrais vite que ce
> que tu proposes n'est tout simplement pas faisable sur un plan pratique
> et
> qu'il est autrement plus raisonnable de demander à excel d'interpréter
> les
> vrais et les faux même si cela te chagrine.

> Il se trouve que la clientèle d'excel n'est pas celle des programmeurs
> professionnels. Du reste ceux là regardent en général avec dédain ce
> pseudo langage. Fort bien. Qu'ils programment en C++ ou en Pascal s'ils
> préfère. Moi je n'ai jamais suivi un seul cours d'informatique de ma
> vie,
> mais j'utilise VBA tous les jours dans mon boulot qui n'a rien à voire
> avec l'informatique. Mes codes sont souvent très crades, pas finalisés
> parce qu'à usage quasi unique mais justement dans ces cas là, j'apprécie
> +++ la tolérance d'excel.
> Ne pas utiliser sommeprod ??? Au secours. ce n'est pas parce qu'en la
> définissant microsoft n'avait pas du tout pensé à l'usage super puissant
> qui peut en être fait, et qui n'est donc pas documenté, que cette
> fonction
> ne doit pas être utilisée !

> La question n'est pas de savoir qui possède ou pas les connaissances
> basiques du fonctionnement d'excel. Franchement on s'en fout. ce qui est
> intéressant avec excel c'est que des gens très très différents, avec des
> niveaux de compétences très très variables l'utilisent pour faire des
> choses que beaucoup n'imaginent même pas demander à un tableur. Et
> justement ce qui permet ça c'est une certaine souplesse. Maintenant
> encore
> une fois, j'espère que ce qui a besoin d'être calculé à la 50° décimale
> ne
> l'est pas avec excel.

> Mais cette discussion m'amuse beaucoup : habituellement la conversation
> type c'est de dire OUI il FAUT déclarer ses variables, c'est utile et ça
> évite les erreurs même si excel est très tolérant et essaie
> d'interpréter
> vos à peu près. Là nous voilà partis dans l'extrême opposé. Ça change
> :-)
> Excel est un langage de programmation pour amateurs ? oui peut être et
> alors ? Je revendique pour ma part le fait d'être une amateur sur excel.
> J'aime excel voilà, je fais mon coming out, c'est un grand jour :-)

> Misange migrateuse
>http://www.excelabo.net: Participez à un travail collaboratif sur excel !

> JérômeC a écrit :
>>> | Dans Excel, le poireau booléen est aussi une carotte nombre.
>>> **** C'est nouveau ça ! Tu as quelle version d'Excel ?

>>> Une valeur booléenne demeure une valeur booléenne et je n'ai
>>> jamais rien lu ou vu quelque chose qui allait dans le sens opposé dans
>>> Excel.

>>> Ce qu'Excel permet c'est la transformation de cette valeur booléenne
>>> en valeur numérique. Pour ce faire, on pourrait une "vraie" fonction
>>> comme N(), mais Excel permet la conversion de cette valeur en
>>> utilisant
>>> plus d'une approche. On ne va pas lui reprocher sa flexibilité ?
>>> Exemple :
>>> si je demande à excel d'additionner :
>>> =SOMME({VRAI;VRAI;VRAI}) = 0 et le 0 ne signifie pas que c'est faux
>>> Excel reconnaît les "Vrai" comme valeur booléenne
>>> (si tu les tapes en minuscules, Excel les affiche en majuscule à la
>>> validation de la cellule, de plus ces expressions ne nécessitent
>>> pas de guillemets) mais il ne les transforme pas en valeur numérique
>>> de lui-même. La fonction "Somme" considère ces valeurs comme
>>> étant du "texte" d'où le résultat.
>>> Si Excel ne faisait pas de différence entre une valeur booléenne et
>>> sa valeur numérique il retournerait 3. NON ????

>>> Pourtant, on a diverses alternatives pour demander à Excel de
>>> "CONVERTIR"
>>> ces "Vrai" par leur équivalent numérique... quelques exemples
>>> possibles
>>> et ils ne sont pas exhaustifs !
>>> =SOMME(N({VRAI;VRAI;VRAI})) = 3
>>> =SOMME({VRAI;VRAI;VRAI}+0) =3
>>> =SOMME({VRAI;VRAI;VRAI}*1) = 3

>> Pour moi, seule le premier exemple a un sens. Je connais les deux
>> autres.
>> À vrai dire, je suis surpris du résultat de =SOMME({VRAI;VRAI;VRAI}) ,
>> car =VRAI + VRAI + VRAI = 3. Et la différence entre les deux me laisse
>> vraiment perplexe. C'est exactement ce que je disais dans un autre
>> message : On ne sait pas quand Excel réalise une conversion ! (S'il y a
>> un endroit où c'est indiqué, une quelconque documentation m'indiquant
>> cela, je veux bien savoir où, les bases d'Excel m'intéresse)

>>> | Mais j'ai une certaine vision de la programmation qui est une
>>> | programmation maintenable par n'importe qui connait la grammaire.
>>> **** Si tu connais la grammaire d'excel, tu devrais pouvoir lire...
>>> On ne peut pas dire qu'Excel cache sa grammaire !

>> Cf ma remarque ci-dessus.

>>> En vba, il est permis ceci :
>>> '-------------------------------
>>> Sub test()
>>> Dim X As Boolean
>>> X = 1
>>> MsgBox TypeName(X)
>>> End Sub
>>> '-------------------------------
>>> Après l'exécution, X = True et la boîte de message affiche
>>> toujours que le type de la variable X est demeurer "Booléenne et
>>> non "Integer", "Long" ....!

>> Encore heureux !

>> Mais des trucs avec la plébiscitée variable de type Variant, tu peux
>> vite
>> foutre le bordel.

>> Dim X as Variant
>> X = vrai
>> X = 1
>> MsgBox TypeName(X) ??

>>> Je veux bien reconnaître que VBA est un langage de
>>> programmation plus souple que d'autres langages de programmation.
>>> Cela sert bien l'ensemble des usagers des applications Microsoft
>>> car la majeure partie de ceux-ci ne sont pas des programmeurs de
>>> formation.
>>> Mais les gens qui en font un usage intensif généralement le font en
>>> respectant les principes de base de la programmation.

>> Souple, certes, mais tellement souple que faire des noeuds s'en s'en
>> rendre compte est super facile. Avec Excel, je n'ai jamais eu de
>> soucis.
>> Mais j'ai essayé avec Access, j'ai laissé tombé avec mon paquet de
>> noeud.

>> Les principes de base de la programmation, je me demande bien ce que
>> c'est. J'ai eu certaines réponses d'un support à un kit de
>> développement
>> (rien à voir avec Microsoft) bien surprenante. Et c'est sans parler de
>> certains bouts de code qui trainent sur le web, ni des perles de
>> programmation.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


3 4 5 6 7