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 :

Affichage conditionnel de TextBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 143
    Par défaut Affichage conditionnel de TextBox
    Bonjour à tous J'ai un tableau de 297 et je voulais qu'en fonction de la valeur d'une cellule certaines d'entre elles ne s'affichent à l'ouverture d'une Userform. Par exemple la cellule de référence (ici B2) affiche 152 et seules les 152 premiers Labels s'affichent. Grace aux conseils de certains bons connaisseurs sur ce forum, je suis arrivé à mes fins de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Number As Integer
    Dim Ccontrol As Control
     If IsNumeric(Sheets("Feuil1").Range("C2")) Then
      Number = Worksheets("Feuil1").Range("C2") + 1
      For Each Ccontrol In RLT1JC.Controls
      If Len(Ccontrol.Name) < 9 Then
       If Left(Ccontrol.Name, 5) = "Label" Then
        If CInt(Mid(Ccontrol.Name, 6)) >= Number And CInt(Mid(Ccontrol.Name, 6)) <= 297 Then
         Ccontrol.Visible = False
        End If
       End If
    End If
      Next Ccontrol
     End If
    J'ai maintenant une Userform avec des TextBox et j'aimerais obtenir la même chose. J'ai donc adapté le code en fonction de ce que j'ai appris sur le coup précédent mais ça ne fonctionne pas. Aucun message d'erreur mais toutes les TextBox s'affichent comme si je n'avais écris aucun code Voilà ce que j'ai écris :
    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
    Dim Number As Integer
    Dim Ccontrol As Control
     If IsNumeric(Sheets("Feuil1").Range("C7")) Then
      Number = Worksheets("Feuil1").Range("C7") + 1
      For Each Ccontrol In JournéesRLT1.Controls
      If Len(Ccontrol.Name) < 9 Then
       If Left(Ccontrol.Name, 7) = "Textbox" Then
        If CInt(Mid(Ccontrol.Name, 8)) >= Number And CInt(Mid(Ccontrol.Name, 8)) <= 231 Then
         Ccontrol.Visible = False
        End If
       End If
    End If
      Next Ccontrol
     End If
    End Sub
    Ma question est : Ai-je fais des erreurs à votre avis ou tout simplement ce code ne s'applique-t-il tout bonnement pas à des TextBox ? Merci à ceux qui prendrons le temps de m'éclairer Laurent

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Tu peux essayer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Left(Ccontrol.Name, 7) = "TextBox" Then
    Cordialement.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 143
    Par défaut On se connait -))
    Bonjour à toi Tu m'as déja dépanné il y a trois jour. Merci de te repencher sur mon problème J'aurais du le voir le coup du B majuscule, quel âne. Néanmoins ça ne fonctionne pas Pourtant j'ai cette fois bien mis toutes les TextBox dans l'ordre. Je suppose que le B souligné c'est pour me montrer où était l'erreur? Il n' y a pas à le souligner dans le code? sinon je ne sais comment faire

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Oui, le soulignement du B c'était pour te montrer où était éventuellement l'erreur.
    J'ai effectué le test de ton code avec 3 TextBox nommées TextBox5, TextBox6 et TextBox7.
    J'ai inscrit le chiffre 5 dans la cellule C7.
    J'obtiens le masquage des TextBox6 et TextBox7.

    Cordialement.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 143
    Par défaut RE
    Alors c'est que je suis sur la bonne piste. Merci pour ton aide, je vais me creuser les méninges Passe une bonne apreme

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour,

    Si vous devez aller jusq'au 231, alors modifier la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Len(Ccontrol.Name) < 9 Then
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Len(Ccontrol.Name) < 11 Then
    cordialement

    [EDIT] - Trop tard, mais c'est très bien de chercher soi-même et de trouver.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 143
    Par défaut ça marche
    J'ai trouvé Il fallait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Len(Ccontrol.Name) < 11 Then
    Vu que j'ai aussi des Label à faire disparraitre j'ai plus qu'à voir si il me prend la même chose deux fois dans la même portée pour des objets différents Merci encore et à bientôt -))

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

Discussions similaires

  1. Sécurité et VBA - Affichage conditionnel de contrôles
    Par Thomas JOUANNOT dans le forum Sécurité
    Réponses: 5
    Dernier message: 23/11/2005, 17h13
  2. [MySQL] select avec affichage conditionnel
    Par encoupe dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/10/2005, 23h46
  3. [VB.NET] Affichage conditionnel dans un repeater
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 4
    Dernier message: 07/02/2005, 12h58
  4. [VB.NET] Probleme d'affichage entre ListBox/TextBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2004, 11h02
  5. [STRUTS] [JAVA] Affichage conditionnel de bean:write
    Par babylone7 dans le forum Struts 1
    Réponses: 6
    Dernier message: 29/04/2004, 16h20

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