Résultat d'une ListBox négatif
FerméGuy73000 Messages postés 7 Date d'inscription dimanche 12 février 2023 Statut Membre Dernière intervention 24 mars 2023 - 13 févr. 2023 à 17:01
- Résultat d'une ListBox négatif
- Lexer resultat - Télécharger - Sport
- Resultat foot - Télécharger - Vie quotidienne
- Resultat loto d'aujourd'hui rdc ✓ - Forum Excel
- Fil noir et blanc positif ou négatif ✓ - Forum Enceintes / HiFi
- Samia, kevin et jason ont gardé la trace de leurs ventes quotidiennes du mois de juillet 2016. dans la feuille bilan, il manque les résultats de jason. insérez une colonne entre samia et kevin et reportez-y les résultats de jason. quel mot secret apparait en f2 ? - Forum LibreOffice / OpenOffice
5 réponses
12 févr. 2023 à 18:13
En VB6/VBA, le type par défaut est int, hors c'est en 16 bits (héritage).
Donc les valeurs c'est entre 0-32767 puis ça passe à -32768 pour revenir à -1.
Pour passer en positif, il faut stocker la valeur dans un long et faire +65536.
En code :
long MaVariable MaVariable=index MaVariable=MaVariable+65536
12 févr. 2023 à 18:18
Merci Beaucoup Henry, c'est sympa.
Je vais voir ça et je vous tiens au courant.
Bonne soirée.
12 févr. 2023 à 18:21
bonjour,
peut-être
Const d As Long = 2 ^ 16 Dim x As Long x = (-25636 + d) Mod d Debug.Print x
13 févr. 2023 à 16:19
Bonjour.
Merci de ta réponse c'est sympa.
Je vais essayer ça.
Bonne fin de journée.
12 févr. 2023 à 18:33
Bonjour
vb6 est obsolète depuis environ 20 ans. Ce qui veut dire notamment que de nombreux composants ne fonctionnent plus sur W10, j'ai même pas essayé avec W11.
VB.Net "son remplaçant" travaille en 32 bits voire en 64bits.
Visual Studio comprend deux versions gratuites
- visual studio community, qui est gratuit pour les petite entreprises sous conditions
- visual studio code
Tu ne rencontrerais pas ce type de problèmes avec VN.Net
Cela étant, VB est vraiment différent de VB6 contrairement à ce que son nom peut laisser croire.
Il faudra donc apprendre un nouveau langage.
A ce compte là, réfléchir à d'autres langages gratuits encore d'actualité serait de toute façon à faire
- python (réputé facile à apprendre, grosse communauté, mais perso j'aime pas, car il donne des défauts, comme vb6 d'ailleurs)
- java
- c# (vrai langage .Net, VB.Net c'est du c# déguisé en VB)
- rust
- etc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question13 févr. 2023 à 16:17
Bonjour.
Merci de ta réponse, c'est gentil.
Oui! Je sais, mais pour le peu que j'ai à faire il me convient.
J'ai remarqué que ce problème n'existait pas avec le VB d'Exel.
A vrai dire j'ai un peu la flemme d'apprendre un nouveau langage.
Bonne fin de journée.
13 févr. 2023 à 17:01
Bonjour Henry.
Merci pour l'idée.
Ca marche, si cela peu servir à quelqu'un, voici comment j'ai procédé.
Dans la Sub Lst1()
Txt1.Text = Lst1.ListIndex
If (Lst1.ListIdex <0) Then
Txt1.Text=(Lst1.ListIdex+65536)
End if
Par contre, le même problème recommence pour les saisies supérieures à 65536.
Si je fais une boucle à 70000 et que sélectionne l'adresse 66240 la réponse est 704.
Bonne fin de journée.