Résolu ! Double-click sur lisbox pour alimenter un autre userform : Résolu !

~ Arnaud ~

XLDnaute Nouveau
Bonjour,
C'est mon premier post, je suis un petit nouveau
Depuis 3 semaines j'ai développé une petite application de gestion de dossiers pour mon boulot.
J'ai fini par venir souvent sur ce site qui m'a apporté beaucoup de réponses (je débute en VBA)...

Néanmoins je sèche sur un truc qui doit être tout bête mais je sèche... alors je me suis résolu à m'inscrire et à vous faire partager mes difficultés !

Voilà donc mon souci :
L'utilisateur ouvre le fichier excel et un userform d'accueil s'affiche.
Dans ce userform j'ai enfin réussi (après de très très très... longs et multiples essais!!!) à mettre une listbox qui s'alimente avec la liste des dossiers gérés par l'utilisateur en cours du fichier.
Il y a la BASE qui se trouve dans un onglet (Instructions) du classeur... Chaque ligne correspond à un dossier géré qui comporte en colonne A un numéro unique.

Dans le userform d'accueil, je souhaite que lorsque l'utilisateur double-click sur une ligne de la listbox, cela ouvre un autre userform "Consulter/Modifier" (qui existe et est par ailleurs affichable par un bouton qui se trouve sur le userform d'accueil).

Mon double-click ouvre bien mon userform Consulter/Modifier mais je n'arrive pas à alimenter la combobox avec le numéro du dossier de la ligne sur laquelle j'ai double-cliqué dans ma listbox (Je précise que la fiche qui récapitule les infos sur l'userform "Consulter/Modifier" se remplie grâce à la sélection effectuée du numéro de dossier unique dans une combobox). J'avais presque réussi mais c'était toujours le numéro de dossier du double-clic précédent qui s'affichait !... Cela m'a fait rire un peu mais maintenant j'aimerais bien réussir à faire afficher le bon dossier.
Pour pouvoir joindre le fichier il m'a fallu essayer de l'anonymiser au maximum alors du coup c'est pas super parlant... Excuse-moi par avance. Avec tout ce qu'ai fait pour l'anonymiser j'espère que ça ira.
Pour le mode administrateur j'ai mis test en utilisateur puis test en mot de passe.

Voilà si quelqu'un sait pourquoi je n'y arrive pas avec ce double-clic.

Je vous remercie et à très bientôt.
Arnaud
 

Pièces jointes

  • TDSI - Version anonymisée pour XLD.xlsm
    4.7 MB · Affichages: 219
Dernière édition:

grisan29

XLDnaute Accro
Bonsoir Arnaud
je ne suis pas a même de t'aider a mon avis mais chapeau bas ;)pour ton classeur il est extrêmement bien fait pour un débutant:)
tu t'es aidé de l'enregistreur et c'est très bien :)mais il a un défaut c'est qu'il met des .select partout qui ralentisse le fonctionnement
autrement sur office 2013 je n'ai pas de double-clic fonctionnel qui ouvre un userform absent
 

~ Arnaud ~

XLDnaute Nouveau
Bonjour,
Merci pour le compliment. Je dois avouer que j'y bosse presque tous les jours depuis 3 semaines... Bon là c'est pas très joli parce que pour le télécharger sur le site j'ai du essayer d'enlever un maximum de choses un peu confidentielles et de dévérouiller des actions qui sont normalement automatiques et transparentes pour les utilisateurs de mon boulot.
Mais j'ai beaucoup adapté ce que j'ai trouvé sur internet.... Vive les forums !:eek:)
Et maintenant j'apprends... Je trouve cela très intéressant de voir tout ce que l'on peut faire.

Concernant le double-click sur la ligne de la listbox, je vais continuer à chercher... Peut-être quelqu'un aura la solution...

Merci !
Arnaud
 

grisan29

XLDnaute Accro
bonsoir Arnaud
en fait tu voudrais qu'un click où double envoie le contenu de la ligne dans les textbox adéquates de l'userform1
est ce bien cela ?
vu le nombre de textbox il y a de quoi s'y perdre, il faudrait leur donné un nom a chacun et ca dirai au moins qui fait quoi, et pense qu'il y a un moyen de diminuer le code car il est un peu long et foulli
Code:
 Me.Controls("Textbox120") = Ws.Cells(Ligne, 5)
        Me.Controls("Textbox122") = Ws.Cells(Ligne, 6)
        Me.Controls("Textbox6") = Ws.Cells(Ligne, 7)
        Me.Controls("Textbox118") = Ws.Cells(Ligne, 8)
        Me.Controls("Textbox117") = Ws.Cells(Ligne, 9)
        Me.Controls("Textbox9") = Ws.Cells(Ligne, 10)
        Me.Controls("Textbox116") = Ws.Cells(Ligne, 11)
        Me.Controls("Textbox115") = Ws.Cells(Ligne, 12)
        Me.Controls("Textbox119") = Ws.Cells(Ligne, 13)
        Me.Controls("Textbox14") = Ws.Cells(Ligne, 20)
        Me.Controls("Textbox15") = Ws.Cells(Ligne, 21)
        Me.Controls("Textbox16") = Ws.Cells(Ligne, 22)
        Me.Controls("Textbox17") = Ws.Cells(Ligne, 24)
        Me.Controls("Textbox18") = Ws.Cells(Ligne, 25)
        Me.Controls("Textbox19") = Ws.Cells(Ligne, 26)
        Me.Controls("Textbox20") = Ws.Cells(Ligne, 27)
        Me.Controls("Textbox21") = Ws.Cells(Ligne, 28)
        Me.Controls("Textbox22") = Ws.Cells(Ligne, 29)
        Me.Controls("Textbox23") = Ws.Cells(Ligne, 30)
        Me.Controls("Textbox24") = Ws.Cells(Ligne, 31)
        Me.Controls("Textbox125") = Ws.Cells(Ligne, 32)
        Me.Controls("Textbox25") = Ws.Cells(Ligne, 33)
        Me.Controls("Textbox26") = Ws.Cells(Ligne, 36)
        Me.Controls("Textbox27") = Ws.Cells(Ligne, 37)
        Me.Controls("Textbox28") = Ws.Cells(Ligne, 39)
        Me.Controls("Textbox29") = Ws.Cells(Ligne, 40)
        Me.Controls("Textbox30") = Ws.Cells(Ligne, 41)
        Me.Controls("Textbox31") = Ws.Cells(Ligne, 42)
        Me.Controls("Textbox32") = Ws.Cells(Ligne, 43)
        Me.Controls("Textbox33") = Ws.Cells(Ligne, 44)
        Me.Controls("Textbox34") = Ws.Cells(Ligne, 45)
        Me.Controls("Textbox35") = Ws.Cells(Ligne, 46)
        Me.Controls("Textbox36") = Ws.Cells(Ligne, 47)
        Me.Controls("Textbox37") = Ws.Cells(Ligne, 48)
        Me.Controls("Textbox38") = Ws.Cells(Ligne, 49)
        Me.Controls("Textbox39") = Ws.Cells(Ligne, 50)
        Me.Controls("Textbox40") = Ws.Cells(Ligne, 51)

je comprends que tu es pris du temps pour coder tout cela je vais suivre l'évolution car je suis absent cette fin de semaine et mon téléphone ne me permets pas de répondre
 
Dernière édition:

~ Arnaud ~

XLDnaute Nouveau
En fait je voudrais seulement récupérer le numéro du dossier quand on double-click sur une ligne de la listbox.
Il s'agit du numéro qui est affiché dans la 1ère colonne de la listbox.
Ce numéro sera intégré à la combobox99 (en verte sur l'userform) de l'userform1 ce qui alimentera tous les autres textbox et combobox de l'userform automatiquement.
Par défaut, ma combobox99 qui permet de sélectionner le dossier à afficher est à la valeur -1 (donc vide).

Voilà il s'agit simplement de récupérer la valeur de la 1ère colonne de la listbox quand on double-click.
Comme je le disais mon code actuel le fait avec un double-click de retard !:eek:)

Bonne soirée.
Arnaud
 

grisan29

XLDnaute Accro
bonsoir arnaud
mais quand j'ouvre l'userform1 la combobox (fond vert) est déja alimentée
la je ne comprends pas et je vais laissé a d'autres le soin de s'occuper de ton excellent fichier et qu'est ce site ou il faut s'inscrire ma-demarche-fse.fr
 

Paf

XLDnaute Barbatruc
Bonsoir Arnaud, grisan29

Si j'ai bien tout compris :

dans Private Sub ListDossiers_DblClick(ByVal Cancel As MSForms.ReturnBoolean) de l'USF USFAccueil :
Code:
With ListDossiers
UserForm1.ComboBox99.Value = .List(.ListIndex, 0) 'initialisation Combo avant affichage USF
End With
UserForm1.Show

A+
 

~ Arnaud ~

XLDnaute Nouveau
Bonjour,
- grisan29 : Le site Ma démarche FSE est un site national pour la gestion des demandes de subventions européennes.... (FSE Fonds social européen). Il s'agit d'un site internet sur lequel on bosse. J'avais mis pour m'amuser, sur l'image du site un lien pour que ça ouvre internet avec la page d'accueil si besoin. Mais c'était pour le fun, je l'ai enlevé... Le principe de mon outil est que les agents ne restent pas longtemps dessus... alors je n'ai pas envie qu'il puissent faire autre chose en même temps... du moins le moins possible....!

- Paf : C'est exactement ça ! Je viens de coller ton code et ça fonctionne exactement comme il faut ! Je n'ai plus de double-click de retard !!! MERCI MERCI MERCI !!!

Pour rebondir sur ce que disait grisan29, pour ce qui est d'alléger mon code, je vais ouvrir une autre discussion parce que je crois que c'est ce qu'il faut faire pour ne pas embrouiller les discussions.

J'imagine qu'il faut la clore et marquer mon problème comme résolu ? Je ne vois pas comment on fait !

Merci beaucoup !
Arnaud
 

grisan29

XLDnaute Accro
bonsoir Arnaud, Paf et le forum

puisque ton classeur est sur ce post tu peux en faire la demande car s'il y a un soucis , ce post est l'exemple ou alors si tu créer un nouveau fait référence a celui-ci
si tu veux mettre "resolu" tu rouvre le 1er post et tu clic sur outils en haut a droite et choisi de modifier le titre
 

Pièces jointes

  • outils.jpg
    outils.jpg
    36.9 KB · Affichages: 96
Dernière édition:

Discussions similaires

Réponses
18
Affichages
622
  • Résolu(e)
Microsoft 365 Taille UserForm
Réponses
3
Affichages
344

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 205
Membres
103 157
dernier inscrit
youma