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 :

Transfert de données d’un Userform à un autre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut Transfert de données d’un Userform à un autre
    Bonjour,

    Je reviens cherchez vos connaissances qui m’ont déjà était fortement utile par le passer !

    Je travaille actuellement sur une solution permettent de gérer la formation dans l’entreprise, mais là je bloque sur deux problèmes que je n’arrive pas à résoudre.

    Le premier concerne l’usf de modification (bouton modification de la feuille menu) en effet cette usf doit me permettre de sélectionner les lignes que je veux modifier, puis de rappeler leur contenu dans l’usf de saisie.

    Actuellement celui-ci m’affiche bien mais 72 colonnes de l’onglet base, mais il y a plusieurs problèmes que je n’arrive pas à résoudre.

    Le premier concernent la mise en place d’un filtre à trois niveau par le biais de combobox, actuellement seul la première et remplie, mais là déjà cela bug.
    En effet quand je sélectionne une donnée dans la première combobox ma listbox n’affiche put les 72 colonnes, mais commence sont affichage à partir de la sélection (la sélection devient la 1er colonne de la listbox).

    La première partie du problème consisterai donc à avoir les trois filtres et à ce que la listbox affiche en permanence les 72 colonnes.

    La deuxième partie du problème de cette usf et tout aussi nébuleuse pour moi. En effet, malgré mais multiple test je n’arrive qu’à importer (et encore pour partie) le contenu à destination des combobox de l’usf de saisie quand je clique sur le bouton modifier de l’usf de modification.

    Je n’arrive pas à écrire de macro me permettant également d’importer le contenu des textbox. Le problème de transfert de contenu entre l’usf de modification et celui de saisie que je rencontre concerne donc les textbox, mais également les combobox et textbox devant se retrouver dans l’onglet formateur interne de l’usf de saisie.

    En effet, dans ma feuille « base » la colonne AL (formateur) a pour but de me permettre d’identifier si le contenu de la ligne doit s’afficher dans l’onglet stagiaire ou dans l’onglet formateur interne (onglet masqué tant que la combobox formation interne de l’onglet formation de l’usf de saisie ne renvoie pas « oui »).
    Dans le cas où dans cette colonne il y a un O, je souhaiterais que les informations de la personne (BUEC, Dpt, Nom prénom, cout de transport,….) aille dans l’onglet formateur interne et nom dans l’onglet stagiaire, et que pour les lignes ou la colonne AL est vide sa soit dans l’onglet stagiaires que les informations sélectionner dans l’usf de modification soit intégré.
    Le but étant de pouvoir modifier une formation en une seul fois, que cela soit stagiaires ou formateur interne.


    Mon deuxième problème qui m’a l’air plus simple, en tout cas d’apparence, concerne ma macro présente dans l’usf de « Requête extraction », « reporting mensuel », c’est macro me permet de remplir l’onglet reporting mensuel en fonction des infos de la base.
    Jusque-là celle-ci marche très bien, cependant je voudrais rajouter un critère en plus des dates pour remplir mon tableau. En effet, je voudrais quand plus de ma sélection de dates ma macro ne me ramène que les personnes qui sont marqué comme « Confirmer » ou « Rajouter » dans la colonne T de la base. En somme, je voudrais que la macro arrête de me ramener les personnes pour qui dans la colonne T de la feuille base on voit marqué indisponible.

    http://www.cjoint.com/data/0KAlabuHKZG.htm

    Merci d’avance pour votre aide.

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

    Informations professionnelles :
    Activité : salarié

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

    Marrant, ce code me parle... Quels sont les critères pour les choix 2 et 3 ? J'ai commencé à retravailler le code mais je suis bloqué.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut
    Ce code te parle ? C’est bien possible, à force de chercher sur internet je me suis inspirer de code de beaucoup de monde ^^ !
    En fait ça ne serait pas trois choix mais 4 (un oubli de ma part ^^), les autre critères serait les colonnes C, I, A.

    Merci.

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

    Informations professionnelles :
    Activité : salarié

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

    Ce n'est bien évidemment pas le code que j'ai reconnu (je n'ai pas cette prétention) mais les commentaires qui l'accompagnent....

    Ton fichier modifié
    : http://cjoint.com/?DKAvu6Muq0U

    J'ai changé de méthode pour la recherche et ça devrait aller beaucoup plus vite. J'ai supprimé le bouton Modification, le renvoi des données vers l'UserForm2 se fait via le double-clic sur l'élément désiré dans la ListBox1. J'ai aussi harmonisé le nom des contrôles de l'userform Recherche.

    En ce qui concerne le renvoi. Pour ne pas écrire un grand nombre de lignes de code, j'ai modifié la propriété [Tag] de tous les contrôle de la Page2 du Multipage1 de l'UserForm2. J'ai vu que certains d'entre eux avaient déjà une valeur pour cette propriété, alors j'ai parcouru ton code pour voir si tu l'utilisais. Finalement tu ne l'utilises que dans l'userform U_chx_dte. Donc pas de problème (car avec le choix dans la date on ne sait jamais...). Deux boucles permettent de renvoyer les données d'une UserForm à une autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'au double-clic dans la ListBox1
    Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
     
    For I = 0 To ListBox1.ColumnCount 'boucle 1 :sur toutes les colonnes de la ListBox1
        For Each CTRL In UserForm2.MultiPage1.Page2.Controls 'boucle 2 sur tous les contrôles de la Page2 du Multipage1
            If CTRL.Tag = I + 1 Then 'condition : si la propriété [Tag]du contrôle est égale à I plus un
                CTRL.Value = Me.ListBox1.Column(I, Me.ListBox1.ListIndex) 'récupère la valeur de la colonne dans le contrôle
                Exit For 'sor de la boucle 2
            End If 'fin de la condition
        Next CTRL 'prochain contrôle de la boucle 2
    Next I 'prochaine colonne de la boucle1
    Unload Me 'vide et ferme l'Userform "Recherche"
    UserForm2.Show 'affiche l'Userform2
    End Sub

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut
    Bonjour Thautheme et le forum,

    Un grand merci pour ton aide, dont j’aimerais encore un peut profiter.

    Je dois bien reconnaitre que c’est bien les commentaires qui m’aide le plus quand je pars d’un code pour les adaptées, et que je les gardes pour cette raison (même si souvent je ne les met pas à jour avec mes modifications^^) !

    Effectivement sa va beaucoup plus vite, ce n’est plus pareil quand je le lance dans une base de 5 000 lignes !

    En tout cas chapeau, effectivement en changent les Tag cela marche bien mieux, et je n’avais à aucun moment envisagé cette option, mais il me reste encore quatre problèmes :
    - Quand je sélectionne les quatre filtres, lors de la sélection du dernier, une erreur d’exécution 5, appel d’argument ou de procédure incorrect, apparait.
    - Quand je double clic sur une ligne pour que celle-ci s’affiche dans l’usf 2, la ligne remonte bien, mais dans l’onglet stagiaire, mais un certain nombre de textbox supplémentaire sont remplis alors qu’elle ne devrait pas, je ne comprends pas pourquoi, je suppose que cela vient du paramétrage de ces textbox, mais je ne voie aucune différence avec les autres
    - Le fait de pouvoir modifier une lignes me sert dans un certain nombre de cas, mais j’aimerais également pouvoir parfois rappeler l’intégralité d’un stage afin de pouvoir modifier les informations pour tous les participants en ne seul fois, c’est pour cela que j’avais créé le bouton modifier, mais je ne sais pas si cela est vraiment possible
    - Et enfin, ce qui est très certainement le plus complexe… Dans ma feuille « base » un certain nombre de colonne comme le nom prénom le matricule,… sont « commune » a deux page de l’usf deux. Je m’explique un nom prénom peut soit être celui d’un stagiaire, soit celui d’un formateur, la colonne 38 permet de faire la distinction, avec un O pour les formateurs et rien pour les stagiaires, si cela est possible, je souhaiterais qu’en fonction de ce critère les info de l’usf « recherche » remonte soit dans la page stagiaire soit dans la page formateur interne de l’usf 2.

    Le fichier modifié : http://www.cjoint.com/data/0KBlrttJnLz.htm

    Merci encore pour ton aide.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut
    Bonjour Thautheme et le forum,

    Je reviens à nouveau vers car malgré toutes mes recherche et ta première aide j’ai pu avancer sur le projet mais les problèmes persiste.

    Voici le lien du fichier : http://www.cjoint.com/data/0LbpTlH0bBR.htm

    En effet, il me reste toujours quatre problèmes, même si il ont un peut évolué pour certain :
    - Quand je sélectionne les quatre filtres, lors de la sélection du dernier, une erreur d’exécution 5, appel d’argument ou de procédure incorrect, apparait.
    - Quand je double clic sur une ligne pour que celle-ci s’affiche dans l’usf 2, la ligne remonte bien, mais dans l’onglet stagiaire, mais un certain nombre de textbox supplémentaire sont remplis alors qu’elle ne devrait pas, je ne comprends pas du tout pourquoi.
    - Et au contraire quand je me sert du bouton modifier pour rappeler plusieurs lignes, là ce sont certaine TextBox de l’onglet stagiaire qui reste vide, et là encore je n’y comprend absolument rien
    - Et enfin, ce qui est très certainement le plus complexe… Dans ma feuille « base » un certain nombre de colonne comme le nom prénom le matricule,… sont « commune » a deux page de l’usf deux. Je m’explique un nom prénom peut soit être celui d’un stagiaire, soit celui d’un formateur, la colonne 38 permet de faire la distinction, avec un O pour les formateurs et rien pour les stagiaires, si cela est possible, je souhaiterais qu’en fonction de ce critère les info de l’usf « recherche » remonte soit dans la page stagiaire soit dans la page formateur interne de l’usf 2.

    Merci encore pour ton aide.

Discussions similaires

  1. Transfert de donnée Access vers une autre base ACCESS
    Par DocCoinCoin dans le forum VBA Access
    Réponses: 0
    Dernier message: 05/03/2008, 09h31
  2. transfert de données d'une table à l'autre
    Par VIRGINIE87 dans le forum Access
    Réponses: 12
    Dernier message: 06/03/2007, 07h48
  3. Réponses: 3
    Dernier message: 12/01/2007, 16h23
  4. Transfert de donnée d'une base 4D à une autre
    Par le_gueux dans le forum 4D
    Réponses: 6
    Dernier message: 08/08/2006, 14h50
  5. [PostGreSQL] Transfert de données d'un table vers une autre
    Par psychomatt dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/03/2006, 16h57

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