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 :

récupérer les valeurs de trois textbox dans une userform


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut récupérer les valeurs de trois textbox dans une userform
    bonjour;



    je souhaite faire un calcul avec trois integer récuperés dans 3 textbox d'une userform et rentrer le résultat du calcul au fur et à mesurer des saisies dans cellule.

    je dois composer pour atteindre au minimum la valeur de " j'ai besoin de "; il faut donc que le calcul se fasse en direct, est-ce possible ?

    Nom : userform.png
Affichages : 637
Taille : 19,9 Ko


    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub calcul_commande()
    Dim e250, e1000, e2500 As Integer
     
    e250 = TextBox1.Value
    e1000 = TextBox2.Value
    e2500 = TextBox3.Value
     
    Sheets("Grammage").Range("D7").Value = e250 * 0.25 + e1000 * 1 + e2500 * 2.5
     
     
    End Sub
    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Salut, si tu veux afficher le résultat en direct il faut ajouter un autre textbox qui s'actualise des que l'evenement change des autre textbox est détecté. Du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub TextBox1_Change()
    TextBox4.Value = TextBox1.Value * 0.25 + TextBox2.Value * 1 + TextBox3.Value * 2.5
    End Sub
    Private Sub TextBox2_Change()
    TextBox4.Value = TextBox1.Value * 0.25 + TextBox2.Value * 1 + TextBox3.Value * 2.5
    End Sub
    Private Sub TextBox3_Change()
    TextBox4.Value = TextBox1.Value * 0.25 + TextBox2.Value * 1 + TextBox3.Value * 2.5
    End Sub
    Des que tu va changer les valeurs d'entrée tu va visualiser la valeur de ton enssemble dans la textbox4 (qu'il faut que tu rajoute)

    Pour bloquer l'acces a cette textbox tu peux mettre la condition suivqnte dqns l'initialisation de l'USF :

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Salut

    Par exemple comme ceci:
    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
    Private Sub TextBox1_AfterUpdate()
      Calcul
    End Sub
     
    Private Sub TextBox2_AfterUpdate()
      Calcul
    End Sub
     
    Private Sub TextBox3_AfterUpdate()
      Calcul
    End Sub
     
    Sub Calcul()
      Dim t1 As Double, t2 As Double, t3 As Double
     
      If TextBox1.Value <> "" Then t1 = CDbl(TextBox1.Value) * 0.25
      If TextBox2.Value <> "" Then t2 = CDbl(TextBox2.Value)
      If TextBox3.Value <> "" Then t3 = CDbl(TextBox3.Value) * 2.5
     
      txtTotal.Value = t1 + t2 + t3
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Futur Membre du Club
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    ...
    bonjour,
    j'ai une erreur 424, objet requis !sur txtTotal.Value = t1 + t2 + t3 ?

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    tu dois remplacer TxtTotal par Sheets("Grammage").Range("D7").Value


    Quel est l'intérêt de passer par un userform? Il me semble que tu te simplifierais la vie en faisant tout en Excel car, si ton besoin se limite à ce que tu as formulé dans ta demande initiale, une feuille Excel est amplement suffisante pour résoudre ce "cas" avec une formule toute bête qui s'appuie sur trois cellules. As-tu besoin de te compliquer la vie avec un userform et ce que cela suppose comme contrôles de saisie et autres joyeusetés?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Futur Membre du Club
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par ChristianBosch Voir le message
    ...
    bonjour,et merci
    j'ai une incompatibilité de type sur la ligne TextBox4.Value = TextBox1.Value * 0.25 + TextBox2.Value * 1 + TextBox3.Value * 2.5

  7. #7
    Futur Membre du Club
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    tu dois remplacer TxtTotal par Sheets("Grammage").Range("D7").Value ----> ca marche , merci


    Quel est l'intérêt de passer par un userform? Il me semble que tu te simplifierais la vie en faisant tout en Excel car, si ton besoin se limite à ce que tu as formulé dans ta demande initiale, une feuille Excel est amplement suffisante pour résoudre ce "cas" avec une formule toute bête qui s'appuie sur trois cellules. As-tu besoin de te compliquer la vie avec un userform et ce que cela suppose comme contrôles de saisie et autres joyeusetés?
    oui tu as peut-être raison, j'y réfléchie, pour le moment comme il y a 3 possibilité de calcul ( soit produits frais , soit conserve, soit surgelés, je pensais plus propre avec des onglets..
    mais tant que ce n'est pas clair dans ma tête ....

    en tout cas merci beaucoup pour ton aide

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par zek474 Voir le message
    [...]j'ai une incompatibilité de type [...]
    C'est le problème des textbox de userform. Leur saisie est toujours du texte qu'il faut tester avant de vouloir les convertir en données numérique. Donc, lorsque l'un des textbox est vide, sa valeur vaut "" (chaine vide) et il est donc impossible de réaliser l'addition. C'est pourquoi dans ma solution, je testais que les textbox n'étaient pas vides et que je passais par des variables As Double qui sont initialisées à 0.


    C'est pour cela que je dis que tu te compliques peut-être la vie à passer par des userforms...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Salut Christian

    Citation Envoyé par ChristianBosch Voir le message
    [...]
    Si c'est pour la mettre de cette manière (toujours à True sans condition), alors je préfère la mettre dans les propriétés du textbox lors de la conception du userform
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Salut Pierre, je me suis trompé, je voulais plutôt mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textbox4.enable = false
    (ça évite d'avoir le texte grisé)

    Oui tu as raison on peut le définir dans les propriétés du textbox directement dans l'USF et ça évite de passer par du code, mais c'est plus facile a expliquer pour le coup quand on le mets dans le code

    bonjour,et merci
    j'ai une incompatibilité de type sur la ligne TextBox4.Value = TextBox1.Value * 0.25 + TextBox2.Value * 1 + TextBox3.Value * 2.5
    Attention il faut mettre des virgules sur le séparateur des décimales, si tu mets un point tu va bloquer sur les opérations mathématiques puisque VBA interprète par défaut comme un string. Soit tu le sait et tu te force a y penser, soit tu mets une condition a l’evenement change des textbox pour forcer le changement des points en virgules et le test numérique.

  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par ChristianBosch Voir le message
    [...]
    Attention il faut mettre des virgules sur le séparateur des décimales, si tu mets un point tu va bloquer sur les opérations mathématiques puisque VBA interprète par défaut comme un string. Soit tu le sait et tu te force a y penser, soit tu mets une condition a l’evenement change des textbox pour forcer le changement des points en virgules et le test numérique.
    Le problème ne vient pas (que) du séparateur décimal. Si un des textbox est vide, tu ne peux pas en multiplier la valeur: "" * 2 => incompatibilité de type. Or, on lance le calcul à chaque modif, donc aussi lorsque l'on remplit le premier textbox et que les autres sont vides.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    D'accord je pensais que VBA interprétais les champs nuls comme un 0 quand on traitait les valeurs mathématiquement et que le dataType de la variable n'était pas précisé. Mais j'imagine que l'objet "textbox" vu son nom est considéré d'office comme un string.

    Dans tous les cas que la solution de Pierre me parait plus adaptée a ton besoin vu que l'USF n'est pas nécessaire.

    Toutefois si tu veux faire le test tu peux initialiser les valeurs des textbox a 0 avec l'evenement userform_initialize pour forcer le type de la valeur des objets en nombre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private Sub UserForm_Initialize()
    textbox1.Value = 0
    TextBox2.Value = 0
    textbox3.Value = 0
    End Sub
    Par contre il est clair que si nous voulons quelque chose d'automatisable il faudrait mettre certaines conditions sur les saisies afin d'éviter l'inévitable erreur de type que l'utilisateur finira par rencontrer.

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par ChristianBosch Voir le message
    D'accord je pensais que VBA interprétais les champs nuls comme un 0[...]
    Toutefois si tu veux faire le test tu peux initialiser les valeurs des textbox a 0 [...
    L'initialisation à "0" fonctionnera car là il y aura bien transtypage mais il ne faudra pas "vider" le champ:

    Nom : 2021-04-20_132315.png
Affichages : 462
Taille : 12,4 Ko


    Citation Envoyé par ChristianBosch Voir le message
    Par contre il est clair que si nous voulons quelque chose d'automatisable il faudrait mettre certaines conditions sur les saisies afin d'éviter l'inévitable erreur de type que l'utilisateur finira par rencontrer.
    Tout à fait. C'est le problème du textbox VBA dont la valeur est typée String. Il importe donc de tester que les valeurs saisies peuvent être traduites en numériques, notamment en faisant attention au séparateur décimal comme tu le mentionnais précédemment.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #14
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Il importe donc de tester que les valeurs saisies peuvent être traduites en numériques, notamment en faisant attention au séparateur décimal comme tu le mentionnais précédemment.
    Pour ce faire j'ai créé cette petite fonction pour les textbox a entrées numériques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function sortieTB(tb As Control)
    tb.Value = Replace(tb.Value, ".", ",")
    If IsNumeric(tb.Value) Or tb.Value = "" Then
    Else
    MsgBox "Merci de renseigner un champ numérique", vbExclamation, "Erreur saisie"
    tb.Value = ""
    End If
    End Function
    Cette fonction est a implémenter avec l’événement change d'une textbox.

    Ça force les points en virgule et ça vérifié si par la suite si c'est un champ numérique. Si la texbox est vide ça ne fait pas remonter d'erreur, puisque a mon avis cette condition doit être demandées lors de la validation si jamais on veut pouvoir laisser un champ vide.

  15. #15
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Tu vas me trouver chi***, mais perso, je n'aime pas le msgbox dans la fonction. Une fonction ne devrait avoir qu'un rôle: soit vérifier que la saisie est numérique, soit informer que la saisie n'est pas numérique, mais pas les deux, car cela t'empêche de l'utiliser par exemple dans une boucle de traitement des données...

    Perso, je n'utiliserais pas une fonction spéciale pour cela, mais juste ceci: IsNumeric(Replace(Value, ".", ",")). De plus, même si le problème est peut-être moins présent en France qu'en Belgique où je travaille avec pas mal de filiales de groupes multinationaux, je testerais le séparateur décimal (pour du VBA Excel) avec application.International(xlDecimalSeparator) pour remplacer le "." OU la virgule par le séparateur utilisé sur le poste sur lequel la macro est active.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  16. #16
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    J'avais fais ça dans un userform avec un multipage ou j'avais près de 25 entrées et pour éviter a l’utilisateur de chercher ses erreurs de saisies je l'indiquais directement a la sorties de la textbox. Comme tous les champs étaient des nombres j'ai fais cette fonction sur mesures (oui je suis un flemmard mais, au fond, nous le sommes tous) pour me faciliter le codage.

    Par contre je ne connaissait pas le application.International(xlDecimalSeparator) intéressant afin d'éviter de remplacer !

  17. #17
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Oui, j'en comprends mieux l'utilité dans le cas que tu cites (je crée aussi plein de fonctions d'une ligne ou deux juste pour ne pas répéter du code). Elle devient encore plus intéressante si on intègre le paramètre "international"...

    Perso, pour signaler le problème dans un textbox, je bascule son fond en rouge pâle lors de la vérification de la saisie
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2012, 16h07
  2. récupérer les valeurs d'un checkbox dans une liste
    Par ikouhan dans le forum Struts 1
    Réponses: 19
    Dernier message: 31/08/2010, 14h22
  3. Récupérer les valeurs lors de navigation dans une jsp
    Par aze20moh dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 17/01/2010, 17h08
  4. Réponses: 4
    Dernier message: 03/08/2007, 14h09
  5. Récupérer les valeur d'un énuméré dans une string
    Par Oliv_75 dans le forum SL & STL
    Réponses: 5
    Dernier message: 28/09/2005, 00h55

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