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 :

Récupérer ligne filtrée pour affichage dans textbox [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut Récupérer ligne filtrée pour affichage dans textbox
    Bonsoir à tous,

    Le titre n'est pas très explicite mais la demande est certainement plus simple pour les génies d'Excel et de la VBA.

    Pour un projet que je dois réaliser, j'ai un Userform qui me sert de formulaire de saisie qui enregistre des données dans un tableau de ma feuille 1. Dans un autre userform j'utilise deux combobox en cascade qui me permettent de filtrer et de conserver une seule ligne de mon tableau. J'ai besoin de remplir des textbox a partir des données stockées dans la ligne restante.

    Et là mon problème c'est que la ligne qui est en dessous de ma ligne d'en-tête du tableau n'est pas obligatoirement la ligne 2 puisque mon tableau est filtré.

    Comment faire pour remplir mes textbox avec la ligne filtrée?

    J'espère avoir été clair dans ma formulation! En espérant un petit coup de main...merci à tous et à ce forum.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu es sûr d'avoir une et une seule ligne?
    est ce que tu peux avoir les cas où 1. aucune ligne ne répond aux critères du filtre ou 2. plusieurs lignes répondants aux critères

    Si tu as une et une seule ligne, ce code à adapter te donnera le n° de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Lig As Long
     
    With Sheets("Feuil1")
       Lig = .Cells(.Rows.Count, "A").End(xlUp).Row
       MsgBox Lig
    End With

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut
    Bonjour,

    Merci Mercalog pour ta réponse rapide mais je ne comprends pas vraiment le bout de code que tu m'as envoyé. Après l'opération de filtrage, il est bien obligatoire de ne rester qu'une seule ligne.

    En fait je ne comprends pas la msgbox et ne sait pas comment faire pour récupérer le numéro de ligne qui sera différent a chaque fois selon le filtrage de l'utilisateur afin de récupérer 1 a 1 les valeurs des cellules de cette ligne pour les renvoyer dans des textbox!


    J'aurais plutôt imaginé une boucle "do ... loop" sur la propriété visibilité d'une cellule et arret de cette boucle quand la condition est remplie...la cellule de telle colonne (hormis la premiere contenant le nom de mes colonnes) n'est pas visible, je passe a celle d'en dessous jusqu'à ce que la valeur renvoyée affirme la visibilité de la cellule alors selectionner cette cellule et transférer son contenu dans une textbox).
    le probleme c'est que je vois pas quel vocabulaire utiliser...je suis au tout début de mon apprentissage et en plus de manière autodidacte.`


    Je vous remercie d'avance

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Dans Lig tu as le numéro de TA ligne
    pour le test j'ai mis msgbox

    la valeur de la cellule après filtrage de la colonne A sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("Feuil1").range("A" & Lig).value

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut Résolu
    Merci à toi mercalog,

    ton bout de code fonctionne à merveille...j'aurais imaginé quelquechose de beaucoup plus compliqué!! Mais pourquoi faire compliqué quand on peut faire simple! Je t'en suis vraiment reconnaissant!

    A plus tard`

    Encore merci au forum

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/03/2008, 12h58
  2. Réponses: 2
    Dernier message: 24/01/2008, 20h58
  3. definir le nb de decimale à l'affichage dans textbox
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/11/2007, 17h13
  4. Calcul et affichage dans textbox multiligne
    Par Cheorches dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/08/2007, 17h35
  5. Réponses: 17
    Dernier message: 06/09/2006, 14h37

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