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 :

Formulaire de choix et d'alimentation de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut Formulaire de choix et d'alimentation de données
    Bonsoir,

    Dans le fichier joint, j'ai un formulaire qui récupère une liste de noms.

    Je souhaiterais filtrer cette liste en effectuant un choix par rapport au trois premières de la colonne site dans la Base_Agent (EMO, SPO,...)

    Dans le Useform je récupère les données dans une ListBox et j'ai alimenter une combobox avec une liste de thème.

    Est-il possible de sélectionner des noms dans la listBox et de leur affecter un thème ?
    Une foi ces choix effectué, je voudrais alimenter la feuille BD_THEMEREA.

    Merci pour vos retours

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Japonta, bonjour le forum,

    Ce n'est pas la politique de ce forum, mais sans le fichier qui va bien je suis bien incapable de t'aider...
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    En fichier joint le fichier avec le code.
    Comment récupérer dans la feuille "ACTIVITES" le derniers thèmes vu ?
    Merci pour votre aide.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    J'aimerais récupérer ces données dans le ListBox si possible.
    Merci pour votre aide.

  5. #5
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    Je vous joint la dernière version de mon fichier.
    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  6. #6
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Japonta, bonsoir le forum,

    Pas sûr d'avoir tout bien compris... Je te propose ton fichier modifié en pièce jointe. Désolé d'avoir renommer les variables mais j'ai trop l'habitude avec cette façon de faire...
    Fichiers attachés Fichiers attachés
    À plus,

    Thauthème

    Je suis Charlie

  7. #7
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    Bonjour Thautheme,

    C'est à peu près ce que je souhaite et je te remercie.
    Par contre à dans ton exemple j'obtiens tous les thème vu par les noms, alors que je souhaiterais avoir que le dernier thème.
    Dans le fichier en PJ par exemple, le matricule 6 voit le theme B le 18/11 et le thème D le 16/11.
    Je souhaiterais récupérer uniquement le dernier thème, celui du 18/11 dans l'exemple.
    Aussi est-il possible d'avoir ces données à l'initialisation du formulaire.
    Copie de Joponta_DC_v01.xlsm

    Merci.

  8. #8
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Re,

    Remplace le code du ComboBox1_Change par:


    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub ComboBox1_Change()
    Dim D As Object
    Dim I As Integer
    Dim J As Byte
    Dim K As Integer
    Dim TL() As Variant
    Dim TMP As Variant
    Dim NE As Integer
    Dim R As Range
    Dim DT As Date
     
    Me.ListBox1.Clear
    TV = OA.Range("A1").CurrentRegion
    Set D = CreateObject("Scripting.Dictionary")
    For I = 2 To UBound(TV, 1)
        D(TV(I, 2)) = ""
    Next I
    TMP = D.keys
    For NE = 0 To UBound(TMP)
        Set R = OA.Columns(2).Find(TMP(NE), OA.Range("B1"), xlValues, xlWhole)
        DT = DateSerial(Year(R.Offset(0, -1).Value), Month(R.Offset(0, -1).Value), Day(R.Offset(0, -1).Value))
        For I = 2 To UBound(TV, 1)
            If TMP(NE) = TV(I, 2) Then
                If Application.WorksheetFunction.CountIf(OA.Columns(2), TMP(NE)) = 1 Then
                    If TV(I, 4) = Me.ComboBox1.Value Then
                            K = K + 1
                            ReDim Preserve TL(1 To 6, 1 To K)
                            For J = 2 To UBound(TV, 2)
                                TL(J - 1, K) = TV(I, J)
                            Next J
                    End If
                End If
                If TV(I, 4) = Me.ComboBox1.Value And DateSerial(Year(TV(I, 1)), Month(TV(I, 1)), Day(TV(I, 1))) > DT Then
                        K = K + 1
                        ReDim Preserve TL(1 To 6, 1 To K)
                        For J = 2 To UBound(TV, 2)
                            TL(J - 1, K) = TV(I, J)
                        Next J
                End If
            End If
        Next I
    Next NE
    If K > 0 Then
        Me.ListBox1.Column = TL
    End If
    Tri_ListBox
    End Sub
    À plus,

    Thauthème

    Je suis Charlie

  9. #9
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    Merci, mais lorsque je sélectionne avec ce code, je n'ai que la dernier nom qui correspond au lieu.
    J'ai du mal expliquer désolé.
    Si je sélectionne le lieu dans le combobox1, il faut que j'obtienne tous les noms avec le dernier thème vu par nom.
    Aussi pouvons-nous ajouter la date correspondante dans la listbox ?
    Merci à vous

  10. #10
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Re,

    Oui, après plusieurs tests je me rends bien compte que cette solution n'est pas fiable, c'est le moins qu'on puisse dire... Je vais tenter de trouver une solution mais je crains de n'obtenir qu'une usine à gaz pas totalement fiable...
    À plus,

    Thauthème

    Je suis Charlie

  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Pourrais-tu, à ce stade de la discussion, reformuler tes attentes qui ont manifestement évolué depuis ton message initial, et rendre juste les trois tableaux de départ, le tableau d'arrivée et les règles qui président à la récupération des données de base?

    Sans cela, j'ai l'impression que c'est bien parti pour une usine à gaz.

    Au passage, je travaillerais avec des tableaux structurés qui vont faciliter la gestion du classeur, tant en Excel qu'en VBA.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    Bonsoir,

    Oui il est vrai que je voudrais peut-être tout réaliser en même temps.
    La feuille de départ est la feuille la feuille GARDE_JOUR. Cette récupère en automatique des noms avec matricules, des lieux, des motifs et des postes.
    Celle-ci est mise à jour de façon journalière.
    L'idée est d'alimenter la feuille ACTIVITES à l'aide du Userform1. Pour aider l'utilisateur dans son choix,lorsqu'il a choisi le lieux via la combobox1, je souhaiterais pouvoir indiquer dans la LISTBOX ( en plus des informations déjà présentes) le dernier thème ainsi que la date vu par chacun des noms.
    Aussi et si possible, je voudrais indiquer quel est le thème le moins vu parmi les thème pour l'ensemble de la sélection.

    Merci pour votre aide.

  13. #13
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    En travaillant avec des tableaux structurés, le code du formulaire serait plus simple qu'avec des objets tableau ?

  14. #14
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Je ne sais pas ce que tu appelles des objets tableau, car dans ton code, je ne vois pas que tu travailles avec des tableaux, mais avec des cellules de plage.

    Oui, le code sera plus simple et plus générique à écrire avec des tableaux structurés.

    • A quoi te sert la listbox avec les cases à cocher? Je pensais que ton userform servait à choisir les lignes à transférer dans la feuille Activités...
    • Tu dis que la feuille de départ est la feuille Garce_Jour.Il y a moins de données dans cette feuille que dans la feuille Activités. La feuille Activités doit garder les données précédentes ou bien est elle doit être nettoyée à chaque utilisation?
    • Tu dis vouloir indiquer le thème le moins vu pour l'ensemble de la sélection... Quelle sélection? Celle des combobox? Celle des cases cochées dans la liste?
    • Quelles sont les données du userform que tu veux voir réapparaître dans la feuille d'activités?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  15. #15
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    A quoi te sert la listbox avec les cases à cocher? Je pensais que ton userform servait à choisir les lignes à transférer dans la feuille Activités...
    En effet les case à cocher ne sont pas obligatoires. IL faut simplement que je puisse faire de la multisélection pour transférer dans la feuille Activités.
    Pour information, la feuille Garde jour importe chaque jour des noms en fontion des noms présents sur la journée. Cette feuille comporte un tableau structuré est il effacé tous le jours, et les nouveaux sont importés.

    Tu dis que la feuille de départ est la feuille Garce_Jour.Il y a moins de données dans cette feuille que dans la feuille Activités. La feuille Activités doit garder les données précédentes ou bien est elle doit être nettoyée à chaque utilisation?
    Oui la feuille activités doit garder les données précédentes. Ces données seront utiles par la suite pour faire un état des thèmes vu par les agents sur l'année.

    Tu dis vouloir indiquer le thème le moins vu pour l'ensemble de la sélection... Quelle sélection? Celle des combobox? Celle des cases cochées dans la liste?
    Pour faciliter le choix de l'utilisateur qui voit les noms dans le ListBox, avant de sélectionner ceux qu'il désire affecter à tel ou à tel thème, il est important de lui indiquer les thèmes dernièrement vu et les thèmes jamais abordé par les noms de la ListBOx. Aussi je souhaiterais que l'utilisateur puisse spécifier un formateur parmi les noms.

    Quelles sont les données du userform que tu veux voir réapparaître dans la feuille d'activités?
    Dans la feuille activités je souhaiterais voir la date , le nom, le matricule le lieu, le motif, le poste le thème le libellé du thème et le formateur choisi.

    Merci pour vos retours et votre aide.

  16. #16
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    J'ai créé les tableaux structurés ==> tb_Garde; Tb_Sites; Tb_Themes; Tb_Activites
    Par contre le fichier fait plus de 2 Mo et je ne peux pas le joindre. Pourtant il n'ya pas beaucoup de données.

  17. #17
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    En PJ le fichier avec tableau structuré
    VBA_TABSTRUC.xlsm

  18. #18
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour le fil, bonjour le forum,

    Je suis heureux de voir que tu es entre de très bonnes mains car pour ma part je n'y arrivais pas...
    À plus,

    Thauthème

    Je suis Charlie

  19. #19
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2019
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2019
    Messages : 177
    Points : 45
    Points
    45
    Par défaut
    Bonjour,
    Je n'arrive pas à démarrer mon projet avec des tableau structurés.
    Merci pour votre aide.

  20. #20
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 771
    Points : 28 631
    Points
    28 631
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'arrive pas à démarrer mon projet avec des tableau structurés
    C'est à dire ?
    Quel est le problème rencontré ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [AC-2013] Créer un formulaire avec choix multiples de données
    Par nicolasdurupt dans le forum IHM
    Réponses: 4
    Dernier message: 22/10/2015, 12h09
  2. choix d'une base de données simple
    Par semenzato dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 12/07/2005, 14h18
  3. choix d'une base de donnée
    Par frisouille dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 17/06/2005, 15h52
  4. Choix d'une base de données
    Par AlexB59 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 07/06/2005, 17h02
  5. Choix d'une base de données
    Par maurice66 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 15/07/2004, 10h14

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