IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de déclaration de variable [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Par défaut Problème de déclaration de variable
    Bonjour à Toutes et à Tous,
    J'ai un petit souci avec une déclaration de variable ou autre chose lié à cette variable ("moyenne").
    Voilà je pratique plusieurs sports (VTT, VR, Marche Nordique et Vélo Elliptique)
    J'enregistre mes données liées à ces sports pour contrôler mes entraînements, mais j'ai un problème avec l'affichage de la moyenne en km/h (format = 00.000).
    L'affichage est correct dans le UserForm "donnees" mais ne l'est pas dans la cellule F5 de ma feuille "Feuil1".
    J'ai essayé plusieurs façons de déclarer la variable "moyenne", de coder le formatage ou de formater la cellule F5 - mais rien n'y fait. Je ne trouve pas la solution.
    L'affichage est toujours par exemple 24 956 et non 24.956 ou 24,956 . En mode "Text" ça marche, l'affichage est correct mais cela me cause des
    soucis pour la suite des calculs (là je n'ai mis qu'un tout petit morceau de mes codes).
    NOTA - faire Enter une fois les valeurs rentrées. La moyenne est calculée après le Enter - une tempo est mis en place pour voir le résultat - puis affichage dans le tableau des données.
    Donc comme je sais que, grâce à vous j'aurai une solution, je me permets de vous relancer pour une solution.
    Par avance merci
    Je mets le code en pièce jointe.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Tchiotpols, bonjour le forum,

    Peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Explicit
    Dim heure As Integer, min As Integer, sec As Integer, temps As Date, convert_heure As Integer, convert_min As Integer, _
    total_sec As Integer, y As Double, moyenne As Double
     
    Private Sub TextBox5_Change()
    'affichage de la durée du parcours dans la TextBox5 selon le format voulu
    'initialisation des variables avec leur formatage
    heure = Me.TextBox3.Value
    heure = Format(Me.TextBox3.Value, "00")
    min = Me.TextBox4.Value
    min = Format(Me.TextBox4.Value, "00")
    sec = Me.TextBox5.Value
    sec = Format(Me.TextBox5.Value, "00")
    'affichage de la durée du parcours réalisé dans la TextBox6
    Me.TextBox6.Value = heure & ":" & min & ":" & sec
    'initialisation de la variable "temps" égale à la valeur du "TextBox6"
    temps = Me.TextBox6.Value
     
    End Sub
     
    Private Sub TextBox6_Enter()
    convert_heure = heure * 3600
    convert_min = min * 60
    total_sec = convert_heure + convert_min + sec
    y = CDbl(Replace(Me.TextBox1.Value, ".", ","))
    moyenne = Round((y * 3600) / total_sec, 3)
    Me.TextBox7.Value = moyenne
    Application.Wait Time + TimeSerial(0, 0, 2)
    Sheets("Feuil1").Range("F3").Value = Me.TextBox1.Value
    Sheets("Feuil1").Range("F4").Value = Me.TextBox6.Value
    Sheets("Feuil1").Range("F5").Value = CDbl(Me.TextBox7.Value)
    Sheets("Feuil1").Range("F6").Value = Me.TextBox2.Value
    Unload Me
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Par défaut
    Bonjour Thautheme et bonjour au forum,

    Je savais que quelqu'un de généreux me donnerait une solution. En effet ça fonctionne bien ainsi que pour la suite des calculs.
    Un grand merci. Bon courage pour le confinement.
    Je considère cette discussion comme close.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de déclaration de variable
    Par popy67 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 15/01/2009, 13h09
  2. [Débutant] Problème de déclaration de variable
    Par cagri dans le forum MATLAB
    Réponses: 10
    Dernier message: 13/06/2008, 12h20
  3. Réponses: 2
    Dernier message: 15/11/2007, 15h15
  4. [Configuration] Problème de déclaration de variable en php5
    Par domray dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/04/2007, 01h22
  5. Réponses: 8
    Dernier message: 03/11/2006, 15h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo