A voir également:
- Supprimer des caractères d'un label - Visual Basic 2010, VB.NET
- Supprimer rond bleu whatsapp - Guide
- Visual basic - Télécharger - Langages
- Supprimer une page word - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
- Impossible de supprimer un fichier - Guide
15 réponses
Bonsoir, au début de cette conversation Le Pivert t'as donné le lien du cours de P Lassere.
Tu devrais suivre ce cours depuis le début.
Apprendre les bases te sera bien plus utile que de passer des heures sur les forums à espérer une réponse à un problème que tu ne décris que partiellement.
Tu viens de perdre 2 jours, alors que tu aurais eu le temps de lire le cours de long en loin, et de faire les exercices.
Ça ne veut pas dire maitriser VB.net, mais avoir vu au moins une fois le socle minimum pour te poser les bonnes questions:
Bien sûr, même après ce cours, il est probable que tu sois encore perdu, mais cette fois, quand untel te dis de regarder la classe Math et bien la notion de classe devrait t'être un peu plus familière.
De même tu aurais compris que CInt ne fait pas d'arrondi, il converti une donnée d'un type "quelconque" vers le type Entier, par exemple
Modérer m'amène à intervenir dans de nombreux posts, mais les seuls langages que je connaisses sont le C# et un peu de VB. Pour vos codes pensez à la coloration.
Réponse trouvée ->Question Résolue
Tu devrais suivre ce cours depuis le début.
Apprendre les bases te sera bien plus utile que de passer des heures sur les forums à espérer une réponse à un problème que tu ne décris que partiellement.
Tu viens de perdre 2 jours, alors que tu aurais eu le temps de lire le cours de long en loin, et de faire les exercices.
Ça ne veut pas dire maitriser VB.net, mais avoir vu au moins une fois le socle minimum pour te poser les bonnes questions:
- Un label doit il être le moyen de stocker ma donnée ou ce pour quoi il est fait afficher un texte?
- Dois-je me casser les pieds à compter les caractères pour modifier le texte quand il doit changer (pas simple si on passe de 10,0 h à 9,9...) ou utiliser un outil qui va bien pour composer mon texte, bien formaté, en fonction de variables?
Bien sûr, même après ce cours, il est probable que tu sois encore perdu, mais cette fois, quand untel te dis de regarder la classe Math et bien la notion de classe devrait t'être un peu plus familière.
De même tu aurais compris que CInt ne fait pas d'arrondi, il converti une donnée d'un type "quelconque" vers le type Entier, par exemple
Dim entier As Integer = CInt(True)fonctionne et veut dire quelque chose, alors qu'arrondir la valeur vraie n'a aucun sens.
Modérer m'amène à intervenir dans de nombreux posts, mais les seuls langages que je connaisses sont le C# et un peu de VB. Pour vos codes pensez à la coloration.
Réponse trouvée ->Question Résolue
Tu nous donnes ce site où tu as la solution:
https://openclassrooms.com/forum/sujet/vb-net-arrondir-0-00-38725
Ce qui donne:
Il faut faire un petit effort personnel. Avec du copier coller tu atteindras vite les limites de la programmation. Il faut comprendre ce que l'on fait!
Et pour le Help, j'étais en WE.
Nous sommes des bénévoles ;:)
Math.Round
https://openclassrooms.com/forum/sujet/vb-net-arrondir-0-00-38725
Ce qui donne:
Label4.Text = CStr(Math.Round(SystemInformation.PowerStatus.BatteryLifeRemaining / 3600, 1))
Il faut faire un petit effort personnel. Avec du copier coller tu atteindras vite les limites de la programmation. Il faut comprendre ce que l'on fait!
Et pour le Help, j'étais en WE.
Nous sommes des bénévoles ;:)
Bonjour,
voir ceci:
https://plasserre.developpez.com/cours/vb-net/?page=langage-vb2#LV-E-1-a
Intéresses toi à la méthode Replace
voir ceci:
https://plasserre.developpez.com/cours/vb-net/?page=langage-vb2#LV-E-1-a
Intéresses toi à la méthode Replace
Dim s As String= "Visual_Basic" s= s.Replace("_"," " ) 'Donne s= "Visual Basic"
Re, le problème c'est que c'est un nombre généré par le temps de la batterie. Je vais dire mon projet :
Afficher sur un texte (label) le temps en heures avec un chiffre après la virgule d'autonomie de la batterie. Pour cela, je divise le temps restant de la batterie par 60. Et le truc c'est que ça me donne un nombre comme "1.6756715865651738", donc ce que je veux, c'est supprimer du caractère 4 au caractère 20 par exemple.
Voici ce que j'ai fait avec un timer d'interval 100 :
Merci de votre aide.
Cordialement, iKreal.
Afficher sur un texte (label) le temps en heures avec un chiffre après la virgule d'autonomie de la batterie. Pour cela, je divise le temps restant de la batterie par 60. Et le truc c'est que ça me donne un nombre comme "1.6756715865651738", donc ce que je veux, c'est supprimer du caractère 4 au caractère 20 par exemple.
Voici ce que j'ai fait avec un timer d'interval 100 :
Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick
Label4.Text = Label4.Text.Remove(startIndex:=4, count:=20)
End Sub
Merci de votre aide.
Cordialement, iKreal.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sur ton site, j'ai trouvé un code intéressant, le seul problème c'est que je débute sur Visual Basic, et je n'ai encore jamais utilisé les fonctions Dim.
Voici ce code intéressant :
Dim s As String = "VisualBasic"
s = s.Remove(2, 7) 'Donne s= "Viic"
Le problème c'est que je veux remplacer le Label4.Text, or ici, je ne comprends pas trop le code. Je vais me renseigner sur quelques sites mais aidez-moi quand-même au cas au je ne trouve pas la solution.
Voici ce code intéressant :
Dim s As String = "VisualBasic"
s = s.Remove(2, 7) 'Donne s= "Viic"
Le problème c'est que je veux remplacer le Label4.Text, or ici, je ne comprends pas trop le code. Je vais me renseigner sur quelques sites mais aidez-moi quand-même au cas au je ne trouve pas la solution.
J'ai cherché un peu et j'ai un peu compris.
Voici ces quelques lignes de code :
L'objectif est que le Texte du Label4 soit correspondant au temps restant de la batterie (explication : Label4 = Texte4 = Temps restant de la batterie en secondes remis en heures avec un chiffre après la virgule (divisé par 3600 et supression des caractères 3 à 20)). N'oubliez pas que le premier caractère est le caractère 0.
Le problème c'est qu'à l'endroit souligné (Texte4), c'est souligné par des vagues bleues et c'est écrit comme erreur "Déclaration attendue.". Je ne trouve pas comment faire, aucune proposition n'est disponible. Aidez-moi, vraiment.
Cordialement, iKreal.
Voici ces quelques lignes de code :
Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick Label4.Text = Texte4 End Sub Dim Texte4 As String = SystemInformation.PowerStatus.BatteryLifeRemaining / 3600 <souligne>Texte4</souligne>= Texte4.Remove(3, 20)
L'objectif est que le Texte du Label4 soit correspondant au temps restant de la batterie (explication : Label4 = Texte4 = Temps restant de la batterie en secondes remis en heures avec un chiffre après la virgule (divisé par 3600 et supression des caractères 3 à 20)). N'oubliez pas que le premier caractère est le caractère 0.
Le problème c'est qu'à l'endroit souligné (Texte4), c'est souligné par des vagues bleues et c'est écrit comme erreur "Déclaration attendue.". Je ne trouve pas comment faire, aucune proposition n'est disponible. Aidez-moi, vraiment.
Cordialement, iKreal.
Bonjour,
je n'ai encore jamais utilisé les fonctions Dim
C'est pourtant par là qu'il faudrait commencer.
"Dim" n'est pas une fonction mais une déclaration de variable.
Tu déclares ta variable :
Tu la valorises :
et tu valorises ton label :
je n'ai encore jamais utilisé les fonctions Dim
C'est pourtant par là qu'il faudrait commencer.
"Dim" n'est pas une fonction mais une déclaration de variable.
Tu déclares ta variable :
Dim Texte4 As String
Tu la valorises :
Texte4 = SystemInformation.PowerStatus.BatteryLifeRemaining / 3600
et tu valorises ton label :
Label4.Text = Texte4.Remove(3, 20)
Re gbinforme,
le problème que je dis une deuxième fois, c'est que Texte4 se souligne et une erreur "Déclaration attendue" se produit.
Voici plusieurs lignes de codes de la form :
Ce qui souligne, c'est Texte4 à la ligne 6 et 7.
Aide-moi s'il te plait.
Cordialement, iKreal.
le problème que je dis une deuxième fois, c'est que Texte4 se souligne et une erreur "Déclaration attendue" se produit.
Voici plusieurs lignes de codes de la form :
Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick Label4.Text = Texte4 End Sub Dim Texte4 As String Texte4 = SystemInformation.PowerStatus.BatteryLifeRemaining / 3600 Texte4 = Texte4.Remove(3, 20)
Ce qui souligne, c'est Texte4 à la ligne 6 et 7.
Aide-moi s'il te plait.
Cordialement, iKreal.
Re, je vais vous montrer les lignes de code car il y a un problème dans le rendu :
Le problème, c'est que par exemple, au lieu d'obtenir "1,2", j'obtiens le bon résultat mais sans les caractères supprimés : "1,24444444445".
Aidez-moi, s'il vous plaît.
Cordialement, iKreal.
Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick Dim Texte4 As String Texte4 = SystemInformation.PowerStatus.BatteryLifeRemaining / 3600 Texte4 = Texte4.Remove(4, 9) Label4.Text = Texte4 End Sub
Le problème, c'est que par exemple, au lieu d'obtenir "1,2", j'obtiens le bon résultat mais sans les caractères supprimés : "1,24444444445".
Aidez-moi, s'il vous plaît.
Cordialement, iKreal.
Sinon, aurais-tu un code pour arrondit un nombre au lieu de tronquer ? Parce que si il reste genre 1,69 heures, çe serait plutôt 1,7 et non 1,7.
Cordialement, iKreal.
Cordialement, iKreal.

Bonsoir,
Ici c'est un site d'entraide gratuit et l'on répond lorsque l'on a le temps : si tu veux une réponse immédiate tu passes un contrat avec une SII et s'ils te répondent un dimanche, tu m'appelles : je ne serais pas dérangé.
Si tu avais consulté l'aide tu saurais qu'il existe une fonction round et je te laisse en prendre connaissance car je n'apprécie pas beaucoup ta demande comminatoire.
Bonne fin de dimanche.
Ici c'est un site d'entraide gratuit et l'on répond lorsque l'on a le temps : si tu veux une réponse immédiate tu passes un contrat avec une SII et s'ils te répondent un dimanche, tu m'appelles : je ne serais pas dérangé.
Si tu avais consulté l'aide tu saurais qu'il existe une fonction round et je te laisse en prendre connaissance car je n'apprécie pas beaucoup ta demande comminatoire.
Bonne fin de dimanche.
Je me suis renseigné et je ne comprends rien.
(Plusieurs sites :
https://openclassrooms.com/forum/sujet/vb-net-arrondir-0-00-38725
https://docs.microsoft.com/fr-fr/dotnet/api/system.math.round?redirectedfrom=MSDN&view=netframework-4.8)
J'ai essayé ce code que j'ai trouvé sur un autre site (il arrondi à l'unité malheureusement) et il ne fonctionne pas :
Si vous avez le temps, pouviez-vous écrire directement les lignes de codage qu'il faut faire. Je voudrais que le nombre soit arrondi au dixième prêt.
Rappel de mon objectif : Afficher le temps restants de la batterie en heures avec un chiffre après la virgule sur un label (label4).
Voici un élément qu'il faudra (à mon avis) faire :
SystemInformation.PowerStatus.BatteryLifeRemaining / 3600 pour diviser le temps restants de la batterie par 3600 (pour le rendre en heures)
(le texte s'appelle Label4)
Si vous arrivez et si cela fonctionne (ou non) je vous remercierai vraiment donc si vous avez 5-10 minutes à consacrer pour moi, ce serait gentil de votre part.
Cordialement,
iKreal.
(Plusieurs sites :
https://openclassrooms.com/forum/sujet/vb-net-arrondir-0-00-38725
https://docs.microsoft.com/fr-fr/dotnet/api/system.math.round?redirectedfrom=MSDN&view=netframework-4.8)
J'ai essayé ce code que j'ai trouvé sur un autre site (il arrondi à l'unité malheureusement) et il ne fonctionne pas :
Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick Dim Texte4 As String Texte4 = CInt(SystemInformation.PowerStatus.BatteryLifeRemaining / 3600) Label4.Text = Texte4 End Sub
Si vous avez le temps, pouviez-vous écrire directement les lignes de codage qu'il faut faire. Je voudrais que le nombre soit arrondi au dixième prêt.
Rappel de mon objectif : Afficher le temps restants de la batterie en heures avec un chiffre après la virgule sur un label (label4).
Voici un élément qu'il faudra (à mon avis) faire :
SystemInformation.PowerStatus.BatteryLifeRemaining / 3600 pour diviser le temps restants de la batterie par 3600 (pour le rendre en heures)
(le texte s'appelle Label4)
Si vous arrivez et si cela fonctionne (ou non) je vous remercierai vraiment donc si vous avez 5-10 minutes à consacrer pour moi, ce serait gentil de votre part.
Cordialement,
iKreal.
re,
Tu t'agites beaucoup pour peu de résultat : pas étonnant que tu sois "à la bourre".
Il suffit de regarder dans l'aide la syntaxe de la fonction que je t'ai donnée :
Tu t'agites beaucoup pour peu de résultat : pas étonnant que tu sois "à la bourre".
Il suffit de regarder dans l'aide la syntaxe de la fonction que je t'ai donnée :
Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick Label4.Text = Round(SystemInformation.PowerStatus.BatteryLifeRemaining / 3600, 1) End Sub
Le problème c'est que Visual Basic ne reconnait pas Round. Je code du VB.net je rapelle. Aidez-moi s'il vous plaît.
Cordialement,
iKreal.
Cordialement,
iKreal.