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

VB 6 et antérieur Discussion :

Comparer une TextBox à une cellule


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut Comparer une TextBox à une cellule
    Bonjour,

    Je voudrais comparer une valeur (numérique) avec des valeurs (numériques à priori...) de mon tableur.

    Voici le code que j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Not Val(Range("PV!D35").Value) < Val(TextBox1.Value) < Val(Range("PV!F35").Value) Then
        Do
            ...
            ...
            ...
        Loop While True
    End If
    Le reste du code importe peu, le test ne fonctionne pas, le test n'est jamais vérifié...
    Je ne vois pas où j'ai faux...
    Si je traduit j'ai : "si la valeur de TextBox1 n'est pas comprise entre D35 et F35 alors on entre la boucle infinie", non?

    J'ai mis le format monétaire sur ma feuille de calcul, est-ce le problème?

    Je vous remercie.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Il me semble bien que tu n'es pas sur le bon forum TextBox1.Value, du VBA
    VBA Office (Access, Excel, PowerPoint, Word....)

    Pour autant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If IsNumeric((Range("PV!D35").Value)) And IsNumeric((TextBox1.Value)) And IsNumeric((Range("PV!F35").Value)) Then
        'chaque éléments est de type numérique
        If Val(TextBox1.Value) >= Val(Range("PV!D35").Value) And Val(TextBox1.Value) <= Val(Range("PV!F35").Value) Then
            'compris dans les bornes
            Else
            'non compris dans les bornes
        End If
        Else
        'au moins un des éléments n'est pas de type numérique
    End If
    devrait fonctionner sous VBA
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut
    Arf oui décidément... Je suis ne suis pas très doué pour trouver les bons forum... Le VBA est différent de virtual basic 6.x?

    Je n'ai plus accès à VBA (seulement au bureau). Je dirai si ça fonctionne, mais je ne comprends pas l'intérêt de tester si les valeurs sont numériques... la fonction val() du code transforme une chaine de caractère en nombre, alors à quoi bon tester si les valeurs sont des nombres juste avant?

    Je pense que c'est mes valeurs dans mes cellules qui ne sont pas compatibles. VBA doit prendre en compte la cellule comme "123 €" et non le nombre 123. J'ai pourtant utilisé le formatage et inscrit le nombre 123 dans la cellule...

    Merci!

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Le VBA est différent de virtual basic 6.x?
    Ben oui il y a des petites différences TextBox.Value en VBA n'existe pas en VB6 et antérieur, on utilise la propriété équivalente .Text

    Exemple de manipulation en VB6, qui doit fonctionner en VBA
    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
    Dim truc As String
    truc = "1 000,55€"
    If IsNumeric(truc) Then MsgBox Val(truc), vbInformation, truc & " ="
     
    truc = "1 000,55€"
    If IsNumeric(truc) Then MsgBox CSng(truc), vbInformation, truc & " ="
     
    truc = "1 000.55€"
    If IsNumeric(truc) Then
        ' Impossible, la condition IsNumeric(truc) est False
        Else
        MsgBox truc & " n'est pas considéré comme numérique", vbInformation, truc & " ="
    End If
     
    truc = Replace(truc, ".", ",")
    If IsNumeric(truc) Then MsgBox CSng(truc) & " après remplacement du point par une virgule", vbInformation
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. [AC-2007] Accéder à une TextBox dans cellule Excel depuis Access
    Par staff88 dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/01/2013, 05h32
  2. [XL-2010] Appliquer à une Textbox une formule d'une cellule
    Par jehhej dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/11/2011, 00h23
  3. [VB.net] Comparer valeurs d'une table à une variable
    Par collaud_vb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/09/2006, 16h24
  4. [VBA-E]comparer contenu textbox et cellule
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 21/02/2006, 13h43
  5. [XSL] N'afficher qu'une fois une valeur + fusionner cellule
    Par DidRocks dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 05/09/2005, 10h22

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