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 :

Erreur sur récupération valeur TextBox [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Avatar de Kaera
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 185
    Points : 332
    Points
    332
    Par défaut Erreur sur récupération valeur TextBox
    Bonjour à tous !

    J'ai un tableau avec des données en ligne. A gauche du tableau j'ai deux colonnes contenant des valeurs de référence.
    Pour chaque ligne, les cellules dont la valeur sera en dehors des valeurs de référence seront colorées.

    Il y a beaucoup de lignes et l'utilisateur ne renseignera les valeurs de référence que pour certaines lignes.
    J'ai donc créé une textbox dans laquelle l'utilisateur saisit le numéro de la ligne qui l'intéresse.
    Ma variable f récupère la valeur saisie dans le textbox (j'ai restreint la saisie dans le textbox aux chiffres/nombres entiers).

    Tout ça me paraît correct mais j'ai une "erreur définir par l'application ou par l'objet" sur la ligne

    J'ai testé ensuite avec f=TextBox1.Value, j'ai eu une erreur "Objet requis" sur cette même ligne.

    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
    sub couleur()
     
    Dim i As Long, j As Long 'numéro de ligne et de colonne pour le tab1
    Dim f As Integer
    Dim Dercol As Integer
     
    Sheets("SumUp").Activate
    Dercol = Sheets("SumUp").Range("IV5").End(xlToLeft).Column
     
        f = TextBox1
        For j = Dercol - 1 To 5 Step -1
                If Not (Cells(f, j).Value) Like ("-") Then 'Pour ne pas tenir compte des cellules vides (qui contiennent un tiret)
                    If (Cells(f, j).Value) < (Cells(f, 1)) Then Cells(f, j).Interior.Color = 65535 '<MIN de ref : jaune
                    If (Cells(f, j).Value) > (Cells(f, 2)) Then Cells(f, j).Interior.Color = 255 '>MAX de ref : rouge
                End If
        Next j
     
    End sub
    Auriez-vous une idée de ce qui coince ?

    Merci d'avance !

    Kaera*
    .
    I'M BACK B*TCHEEEEEZZZZ

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Bonjour,

    Sur quelle ligne est ton erreur ? Si j'ai bien compris, c'est au niveau de Dans quelle partie de ton projet as-tu rédigé ce code ?

  3. #3
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Si ce code est sur la feuille qui contient TextBox1, c'est sans doute que le nom de la TextBox n'est pas exactement celui-là.
    S'il est dans un module, il faudra faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("FeuilleAvecTextBox").OleObjects("TextBox1").Object.Value
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  4. #4
    Membre averti
    Avatar de Kaera
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 185
    Points : 332
    Points
    332
    Par défaut
    Salut d0n32, c'est placé dans un module.

    Salut ZebreLoup, j'avais déjà vérifié plusieurs fois, c'est bien le bon nom de TextBox.

    (Merci à vous deux pour votre rapidité)

    Petite précision non négligeable :
    Les valeurs de référence et les valeurs du le tableau sont toutes au format heure ("h:mm:ss;@").
    J'ai saisi les valeurs de référence et étrangement, le surlignage fonctionne sur certaines lignes et pas sur d'autres.
    NB: Pour mes tests, j'ai mis des valeurs de référence de telle sorte qu'au moins deux cellules du tableau soient en dehors, donc colorées.
    J'ai varié mes valeurs de réf. mais rien n'y fait, il y a toujours au moins une ligne qui "plante" (aucune erreur n'est affichée, le code ne plante pas).
    Par ailleurs, les lignes qui "plantent" ne sont pas toujours les mêmes; il semblerait que ce soit aléatoire.

    En somme, le code ne génère plus d'erreurs (avant de voir vos deux messages, j'ai modifier ma variable f comme ceci f = CDbl(UserForm3.TextBox1.Value) ) mais la macro s'applique "au petit bonheur la chance" !

    Merci d'avance pour votre aide.

    Kaera*
    .
    I'M BACK B*TCHEEEEEZZZZ

  5. #5
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Je crois que d0n32 et moi pensions que ton textBox était sur ta feuille, pas dans un userForm.

    Pour ton autre souci - je ne suis pas sûr d'avoir bien compris - essaie en mettant .Value aussi pour tes cellules de référence.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  6. #6
    Membre averti
    Avatar de Kaera
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 185
    Points : 332
    Points
    332
    Par défaut
    Ah pardon, je ne l'avais pas précisé.

    J'ai mis .Value aux valeurs de réf., le problème est réglé.
    Merci ZèbreLoup, merci d0n32 !

    Kaera*
    .
    I'M BACK B*TCHEEEEEZZZZ

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

Discussions similaires

  1. Trouver l'erreur sur récupération de fichier rdiff-web
    Par sechanbask dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 03/08/2014, 16h39
  2. Récupération valeur TextBox et ComboBox Word vers Excel
    Par Jean Baptiste 31 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/02/2013, 12h10
  3. erreur sur la valeur ESP
    Par salseropom dans le forum C++
    Réponses: 5
    Dernier message: 28/05/2010, 18h14
  4. Récupération valeur TextBox
    Par Nikamura dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/03/2008, 18h08
  5. Erreur sur récupération type d'input
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/08/2006, 12h12

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