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 données saisies via UserForm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2018
    Messages : 6
    Par défaut Problème de données saisies via UserForm
    Bonjour à tous,

    Après plusieurs recherche, il ne me semble pas avoir trouver réponse à mon problème qui est le suivant :

    A mon travail, j'ai créé un UserForm permettant d'inscrire des données dans mon tableau Excel, ceci afin d'uniformiser la saisie et que toutes les données soient identiques. (Les tableaux utilisés par beaucoup de collègues donnent souvent des résultats très variés ...)

    Mon problème étant qu'avec deux de mes TextBox, comprenant des nombres, ceux-ci ne sont pas considérés comme tels dans le tableau Excel, et donc, en voulant faire une addition de la colonne comprenant ces nombres, le total me donne 0.

    Ce n'est qu'en double-cliquant sur les cellules des nombres inscrits via mon UserForm qu'ils sont considérés comme des nombres et s'ajoutent à l'addition.

    Est-ce que quelqu'un aurait une solution à ceci ?

    J'ai ensuite essayé de trouver une alternative :

    Une macro "simulant" un double click dans ces cellules, mais je n'arrive pas à trouver le bon code ... Quelqu'un pourrait-il m'aider ?

    Je vous remercie par avance.


    Kayt0x

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    pourrait-on avoir du code à se mettre sous la dent, afin de te donner des réponses pertinentes stp ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Par défaut, un textbox saisit du texte... Si tu veux convertir en numérique, tu peux
    • soit multiplier par1;
    • soir convertir explicitement en nombre avec cLong(), cdbl(), csng()...


    Il faudra évidemment être attentif aux séparateurs utilisés pour les milliers et les valeurs décimales.
    "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
    Membre éclairé
    Homme Profil pro
    Évaluation de la performance
    Inscrit en
    Avril 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Canada

    Informations professionnelles :
    Activité : Évaluation de la performance
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2018
    Messages : 39
    Par défaut
    Bonjour Kayt0x,

    Parcqu'un textbox renvoie un string (chaîne texte) et non un nombre.
    Voici un tutoriel qui est très agrable à lire et qui t'aidera à trouver une solution.

    Didier Gonard obliger saisie numerique dans texbox

    Bonne journée

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2018
    Messages : 6
    Par défaut
    Merci à Pierre et LeBo74, ça m'a effectivement bien aidé, cela fonctionne maintenant.

    Par contre j'ai une nouvelle question, je ne sais pas si je dois faire un autre sujet ou non,

    mais en fait j'aimerais qu'un numéro de ligne de tableau (non pas numéro de cellule) s'inscrive automatiquement dans un textbox ou autre, pour ne pas que l'utilisateur ait à l'entrer lui même.

    J'ai essayé de faire une simple formule excelle avec des Si (en fonction que le numéro de ligne n'apparaisse que s'il y a qqch dans les autres colonnes) mais le problème c'est qu'avec mon UserForm et les textbox, ça me fait saisir ce numéro de après les formules et non après la suite du tableau :

    Exemple en image :

    Nom : Image1.png
Affichages : 452
Taille : 19,4 KoNom : Image2.png
Affichages : 435
Taille : 24,0 Ko

    Merci par avance

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2018
    Messages : 6
    Par défaut
    Est-ce nécessaire de faire un nouveau sujet ?

  7. #7
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Perso, je n'ai pas compris la demande...

    Quand ton formulaire est-il ouvert et pourquoi? Pour créer une nouvelle ligne? pour modifier une ligne existante? Comment le n° de ligne en B est-il calculé?
    "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...
    ---------------

  8. #8
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2018
    Messages : 6
    Par défaut
    Hello,

    Le formulaire sert à créer une ou plusieurs nouvelles lignes, j'ai bloqué l'inscription de texte manuellement afin que ça se fasse uniquement via le formulaire pour éviter toute sorte de fantaisie dans les saisies de ce fichier utilisé par beaucoup de personnes différentes.

    Pour l'instant, les numéros de ligne en colonne B ont été insérés manuellement mes soins, mais je cherche à faire en sorte qu'il soit proposé automatiquement soit à l'insertion d'une nouvelle ligne dans le tableau, soit directement dans mon formulaire de saisie dans un textbox ou autre.

    Étant donné que j'ai fait en fonction que le tableau se mette en page automatiquement à l'insertion de ligne, et à cause du formulaire de saisie, je ne peux pas mettre de formule excel dans les cellules en colonne B.

    Merci par avance si quelqu'un à une astuce à me proposer.

    Cordialement,


    Kayt0x

  9. #9
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2018
    Messages : 6
    Par défaut
    --

  10. #10
    Membre éprouvé Avatar de Wololol
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 104
    Par défaut
    Citation Envoyé par Kayt0x Voir le message
    --
    --'

    Bonjour !

    Alors ton problème n'est pas clair (pour moi) mais voici deux-trois petit bout de code qui pourrait (peut-être) t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B" & Rows.Count).End(xlUp).Row
    Cette ligne récupère le nombre de ligne remplie dans ta colonne B, ainsi tu pourra directement insérer à la suite ? (Rows(i).Insert)

    Tu pourrai, après insertion dans ta fonction, insérer directement la formule avec FormulaR1C1.

    J'espère t'avoir aidé, il ce peut que j'ai répondu complétement à coté, dans ce cas fais un énoncé moins vague de ton problème

    Bonne journée

  11. #11
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Avril 2018
    Messages : 6
    Par défaut
    Citation Envoyé par Wololol Voir le message
    --'

    Bonjour !

    Alors ton problème n'est pas clair (pour moi) mais voici deux-trois petit bout de code qui pourrait (peut-être) t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B" & Rows.Count).End(xlUp).Row
    Cette ligne récupère le nombre de ligne remplie dans ta colonne B, ainsi tu pourra directement insérer à la suite ? (Rows(i).Insert)

    Tu pourrai, après insertion dans ta fonction, insérer directement la formule avec FormulaR1C1.

    J'espère t'avoir aidé, il ce peut que j'ai répondu complétement à coté, dans ce cas fais un énoncé moins vague de ton problème

    Bonne journée
    Salut

    Merci bien ! Je vais tester ça

    Bonne suite de journée

    (Pour compléter mon problème, qui est tout simple d'après moi mais je n'arrivais pas à appliquer une solution adéquate, c'est que je veux simplement que les numéros de de ligne de mes données en colonne B se mettent automatiquement, soit directement dans le tableau Excel, soit dans un textbox de mon formulaire de saisie.)

Discussions similaires

  1. [XL-2010] Importation données XL via Userform
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/12/2012, 18h21
  2. Afficher les données rechercher via userform
    Par nora2603 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/07/2011, 00h50
  3. Problème dans une saisie de donnée
    Par 6AAAAA dans le forum Débuter
    Réponses: 5
    Dernier message: 03/02/2008, 16h37
  4. [VBA Excel] Un problème de recopie des données de l'userform
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 14h48
  5. [MySQL] problème ajout donnée dans BDD via php
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/05/2006, 23h41

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