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 :

Incompatibilité de Type


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
    Ingénieur après-vente
    Inscrit en
    Novembre 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 39
    Par défaut Incompatibilité de Type
    Bonjour

    J'ai passé de Windows 7 à Windows 10 et depuis le problème suivant que je n'avais pas avec Windows 7 est apparu:

    En VBA, le transfert d'un chiffre d'une 'Variable' vers une 'Textbox' transforme ce chiffre de numérique à texte (string) et vice versa rendant par ce fait une comparaison ultérieure entre elles impossible.

    (La "Textbox" se trouve sur une "Userform")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim SoldeBu as long
    SoldeBu=220.15
    SoldeBu est numérique avec un point avant la décimale
    TB_SoldeBk est un texte (string) avec une virgule avant la décimale: "220,15"

    Lorsque je veux les comparer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Diff=SoldeBu-TB_SoldeBk
    Le message logique "Incompatibilité de Type" apparaît.
    Dans Régions (Windows 10) le format du point décimal est pourtant bien un point.
    Il y a-t-il un endroit dans Excel pour forcer un point?
    Langue: Français(Suisse).

    Si j'utilise la formule VAL(TB_SoldeBk) les décimales sont, bien-sûr, supprimées.

    Pourquoi cette transformation point-virgule? Comment y remédier??

    Qui peut m'aider?

    Jacksun

  2. #2
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 287
    Par défaut
    Salut
    Pour le pourquoi, la réponse est .
    Dans les options avancées d'Excel, vous pouvez assigner le séparateur de décimale et de millier.
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    ActiveCell = Replace(ActiveCell, ",", ".")
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 39
    Par défaut Incompatibilité de Type
    Salut

    Merci pour tes bonnes suggestions.

    1. Dans Excel - Options - Avancées, le format des chiffres était bien "." et non ","

    2. Si, dans mes TextBox's j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    TB_myBox.Replace(TB_myBox",",".")
    End Sub
    Cela fonctionne très bien une fois. Dans mon code je dois changer les valeurs transférées à mes TextBox's une dizaine de fois dans différents endroits du code.
    A chaque changement la virgule réapparaît et il faut la remplacer chaque fois à nouveau par un point...

    N'y aurait-t-il pas une méthode où ce changement serait fait par défaut et s'appliquerait ainsi à toutes les TextBox's d'Excel?
    Pourquoi le réglage dans Excel - Options - Avancées ne remplit pas ce rôle?

    Merci pour toutes nouvelles suggestions.

    Jacksun

Discussions similaires

  1. Incompatibilité de type ListBox
    Par priest69 dans le forum Access
    Réponses: 1
    Dernier message: 16/11/2005, 11h19
  2. Message incompatibilité de type
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 10/10/2005, 20h57
  3. incompatibilité de type
    Par zooffy dans le forum Access
    Réponses: 2
    Dernier message: 13/06/2005, 15h12
  4. Incompatibilité de types dans un formulaire
    Par ahage4x4 dans le forum ASP
    Réponses: 3
    Dernier message: 03/05/2005, 15h39
  5. [XSD] Incompatibilité des types xs:ID et xs:IDREF ?
    Par Cpt.FLAM dans le forum Valider
    Réponses: 6
    Dernier message: 08/04/2005, 14h54

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