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 :

Tableau dans usrform


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
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut Tableau dans usrform
    Bonjour,

    Après de multiple recherche, j'arrive pas à comprendre comment on met un tableau dans USERFORM.

    Pour l'exemple, je vous joins un fichier que j'ai déjà préparé.
    Dans l'onglet DATA, j'ai plusieurs référence. Ces références, on a des taches à accomplir pour chacune.
    Lorsque je veux voir une référence, j'aimerai avoir un récapitulatif des taches associées avec les différentes informations (voir fichier)

    J'ai crée un onglet TABLEAU avec un tableau d'exemple.

    Sinon, j'ai commencé à travaillé dessus, notamment trouvé la ligne de la référence demandé et l'intégré dans la variable : LigneOF_DATA

    Voici le fichier :
    Tableau_Userform_V1.0.xlsm

    Je continue mes investigations

    Lieb

    EDIT :


    .ColumnCount indique le nombre de colonne à prendre en compte :

    Comment faire pour lui dire qu'il prend en compte l'ensemble des colonnes et s'arrete quand il n'y a plus d'info.
    Dans mon tableau, l'ensemble des données vont de la colonne AG à JV


    Ci-dessous, j'utilise ce code pour indiquer la colonne AG comme point de départ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .RowSource = WbArchive.Worksheets("GESTION_EXECUTANT").Range("AG" & LigneOF_Gestion_Executant & ":" & "JV" & LigneOF_Gestion_Executant).Address

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Salut, teste ceci, en espérant avoir compris ta demande. Au passage, je me demande pourquoi tu utilises 3 lignes d'instruction avec utilisation de variable pour afficher ton userform au lieu de simplement UserForm1.Show ?

    Tableau_Userform_V1.0.xlsm

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut
    Citation Envoyé par Franc Voir le message
    Salut, teste ceci, en espérant avoir compris ta demande. Au passage, je me demande pourquoi tu utilises 3 lignes d'instruction avec utilisation de variable pour afficher ton userform au lieu de simplement UserForm1.Show ?

    Tableau_Userform_V1.0.xlsm
    Merci à toi,

    Par contre comment je peux récuperer la ligne des titres des colonnes dans ListBox ?
    Plusieurs tentatives en vain...

    Voici un exemple :

    Nom : exemple.png
Affichages : 199
Taille : 163,7 Ko

    Mes quelques tests sont en vain ...

    Sinon, effectivement pour l'appel USERFORM, ta solution est parfaite.

    lieb

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bjr
    je bricole ceci
    à adapter et tester avec prudence
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub TextBox1_Change()
    ListBox1.Clear
    Dim O As Worksheet
    Set O = Sheets("DATA")
    Dim Derlig As Long
    Dim Lista As Variant
    Application.ScreenUpdating = False
    Derlig = O.Cells(Rows.Count, 2).End(xlUp).Row
    CRITERE = TextBox1.Value
     
     If O.AutoFilterMode = True Then
     O.AutoFilterMode = False
     End If
     O.Range("$B$4:$Q$" & Derlig).AutoFilter Field:=1, Criteria1:=CRITERE
     
     Dim C As Range
     With ListBox1
        .ColumnCount = 7
        .ColumnWidths = "100;80;100;50;100;60;50"
    End With
     
    LastLig = O.Cells(O.Rows.Count, 3).End(xlUp).Row
     
        If O.Range("C5:C" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
        For Each C In O.Range("C5:C" & LastLig).SpecialCells(xlCellTypeVisible)
            ListBox1.AddItem C.Value
            Me.ListBox1.List(ListBox1.ListCount - 1, 1) = C.Offset(0, 1).Value
            Me.ListBox1.List(ListBox1.ListCount - 1, 2) = C.Offset(0, 2).Value
            Me.ListBox1.List(ListBox1.ListCount - 1, 3) = C.Offset(0, 3).Value
            Me.ListBox1.List(ListBox1.ListCount - 1, 4) = C.Offset(0, 4).Value
            Me.ListBox1.List(ListBox1.ListCount - 1, 5) = C.Offset(0, 5).Value
             Me.ListBox1.List(ListBox1.ListCount - 1, 6) = C.Offset(0, 6).Value
     
        Next C
        End If
     O.ShowAllData
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut
    Merci pour ton retour,

    J'ai glané quelques infos.

    En fait j'aimerai dans mon userform que j'ai un tableau similaire.

    Nom : tableau exemple.png
Affichages : 185
Taille : 6,3 Ko

    Je n'arrive pas à comprendre comment faire pour avoir les en-têtes de mes colonnes dans la première ligne (voir exemple image ci-dessus)

    Je cherche et si je trouve, j'édite. Mais pour l'instant je bloque....

    Lieb

    EDIT :

    Alors j'ai trouvé ceci comme code, mais je n'arrive pas à l'adapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
             'Ajouter les en-têtes de colonnes
             For Each rngCell In Tbl.HeaderRowRange.Cells
                 .ColumnHeaders.Add Text:=rngCell.Value, Width:=90
              Next rngCell
            .ColumnHeaders.Add Text:="row", Width:=20
            .ColumnHeaders(1).Width = 40: .ColumnHeaders(1).Alignment = lvwColumnLeft
            .ColumnHeaders(2).Width = 40: .ColumnHeaders(2).Alignment = lvwColumnCenter
            .ColumnHeaders(3).Width = 40: .ColumnHeaders(3).Alignment = lvwColumnCenter
            .ColumnHeaders(4).Width = 100: .ColumnHeaders(4).Alignment = lvwColumnCenter
            .ColumnHeaders(5).Width = 100: .ColumnHeaders(5).Alignment = lvwColumnCenter
            .ColumnHeaders(6).Width = 50: .ColumnHeaders(6).Alignment = lvwColumnCenter
            .ListItems.Clear
        End With


    En fait, je voudrais faire une boucle en fonction de la référence, par exemple TUTU
    Et j'ai dans ListBox 1 sur le coté gauche : Tache 1; Tache 2; Tache 3
    Puis face à chacune des taches sur sa ligne correspondante les infos du tableau

    ça donnerai :

    TACHE Date Date Qts Qts Statut
    Récept. Prise Charge Recu Realise
    TACHE 1 23/09/2024 24/09/2024 20 15 En Cours
    TACHE 2 02/04/2024 21/09/2024 15 15 Terminé
    TACHE 3 05/09/2024 22/09/2024 15 10 Terminé

    Merci

  6. #6
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Salut, il me semble que tes désirs changent en cours de route. Ta deuxième capture d'écran diffère de la première et d'après ton code, maintenant tu travailles avec un tableau structuré ???
    Voici une suggestion qui sera ma dernière contribution à ta demande, mais ce ne sera pas avec tableau structuré.

    Tableau_Userform_V1.0.xlsm

  7. #7
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 205
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Les contrôles Listview permettent plus de choix en terme de couleur et de mise en forme, sinon
    https://silkyroad.developpez.com/VBA/ListView/

  8. #8
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut
    Citation Envoyé par tototiti2008 Voir le message
    Bonjour,

    Les contrôles Listview permettent plus de choix en terme de couleur et de mise en forme, sinon
    https://silkyroad.developpez.com/VBA/ListView/
    Merci pour le lien.

    Bien à vous,

    Lieb

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

Discussions similaires

  1. [ STRUTS ] [ LOGIC:ITERATE ] tableau dans un formulaire
    Par LoulouFifi dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/06/2004, 16h19
  2. Tableau dans une interface idl
    Par Polochon2001 dans le forum CORBA
    Réponses: 2
    Dernier message: 14/05/2004, 09h44
  3. [langage] Tableau dans hashage
    Par iago dans le forum Langage
    Réponses: 2
    Dernier message: 26/01/2004, 16h19
  4. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/09/2002, 10h15
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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