|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Bonjour à tous,
Une nouvelle fois je fais appel à vous car j'ai une difficulté que je ne parviens pas à comprendre. Je travaille avec Excel 2007 sous Windows 7. J'ai crée un UserForm dans lequel j'ai placé (entre autre) 3 ListView qui sont alimentées par des données placées sur 3 feuilles de mon classeur. Je remplis mes ListView sans problème. Le but est de cliquer sur un CommandButton et qu'à ce moment, un fichier Excel s'ouvre. Le nom de ce fichier étant donné par l'Item sélectionné dans l'une des ListView. Tout cela fonctionne correctement. J'ai même placé la Multiselection à "True" pour sélectionner plusieurs fichiers en même temps. MAIS, voici mon problème. Si je sélectionne un Item "Fichier1" sur la ListView1, puis, changeant d'avis, je sélectionne un Item "Fichier24" sur la ListView2, le clic sur le commandButton m'ouvre le fichier "Fichier24" (c'est ce que je demande) mais il m'ouvre aussi le fichier "Fichier1" de la ListView1 alors que celui-ci n'est plus sélectionné ! Ou est mon erreur ? Pouvez-vous m'aider ? Voici le code pour l'initialisation de mon UserForm Code :
Code :
Si vous avez des pistes à me proposer, je suis preneur. Bonne soirée et bon weekend. danad38 |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonsoir,
Ce n'est pas dans l'initialisation que se trouve l'erreur mais dans le code de sélection des items. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() |
SAlut
Il faudrait effectivement voir le reste du code, mais je ne trouve pas ça choquant. Tu as deux listes qui sont indépendantes, donc le fait de sélectionner un item sur l'une ne supprime pas la sélection sur l'autre, c'est juste qu'étant donné que ton 1er liste perd le focus, tu ne vois plus l'item qui est sélectionné, mais il y en a bien un. Que veux tu faire exactement? si tu sélectionnes une entrée sur la Liste2 il faut annuler les sélections faites sur la Liste1? ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Bonjour Qwazerty,
En effet tu poses la bonne question, je n'ai pas été assez précis. Lorsque je me trouve devant mon formulaire et ces 3 ListView, il peut arriver que je sélectionne un Item dans une ListView, mais que je constate que j'ai fait une erreur (avant d'exécuter le CommandButton). Je sélectionne alors un (ou plusieurs) autres Items dans une autre liste. Je souhaite donc annuler ma précedente sélection. Je précise par ailleurs que dans "presque" tous les cas, il ne peut pas y avoir des sélections dans plusieurs ListView en même temps (même si ce principe pourrait, quequefois, être interessant. Merci. Danad38 |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Dans ce cas, ajoute un bouton "Reset" et dans le code du bouton tu reproduis ce code pour chacune des listbox Code :
++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Bonsoir Qwazerty,
Excuse moi pour ce retard. Merci pour ta proposition même si elle ne me satisfait pas vraiment sur le principe de son fonctionnement. En effet, si je dois sélectionner 5 ou 6 Items dans une ListView, la moindre erreur de "clic" m'amène à faire un Reset sur tous les Items déjà sélectionnés. Est-ce plus pratique en fin de compte que d'ouvrir un fichier supplémentaire (Les Items sont des noms de fichiers qui doivent s'ouvrir) ... Dans tous les cas, merci pour t'être penché sur mon problème. Si tu en as le temps, je précisais dans mon premier message que j'avais placé des CheckBoxes sur mes Items. Il me semblait plus simple, au départ, de cocher les Items plutôt que de faire une multisélection, je ne suis pas parvenu à écrire un "bout de code" efficace ... As-tu une idée ? Merci et bonne soirée. Danad38 |
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Je n'avais pas compris, tu as la possibilité d'utiliser fmMultiSelectExtended au lieu de fmMultiSelect pour la propriété MultiSelect de tes listes, ainsi en utilisant Shift ou Ctrl tu peux faire varier la sélection au coeur de ta liste. Il doit également être possible en laissant fmMultiSelect de de-sélectionner l'item s'il est déjà selected au moment du click souris. Mais regarde dans un 1er temps fmMultiSelectExtended. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Salut Qwazerty,
C'est bon ! Il est bon de réussir à avancer un peu. Merci pour ta proposition, elle me convient parfaitement. Grace à la touche Ctrl, je peux sélectionner ou déselectionner sans problème. Seuls les Items surlignés amènent l'ouverture des fichiers correspondants. Une petite remarque pour terminer. Si je clique sur plusieurs Items de listes différentes (en gardant enfoncée la touche Ctrl) seuls les Items de la derniere ListView utilisée sont surlignés mais les Items cliqués dans les autres listes provoquent l'ouverture des fichiers correspondants (alors que le fait de changer de ListView, annule visuellement la sélection de la ListView précedente) ... Je n'ai pas d'explication mais ce n'est pas bien important. Je considère le problème résolu. Merci encore. Danad38 |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
C'est ce que je t'expliquais ici, lorsqu'une liste à le focus,c'est a dire que c'est elle qui reçois les frappes clavier par exemple (elle est active en somme), elle colore ses item qui ont la propriété selected à true. Ma uniquement quand elle a le focus, si elle perd le focus (lorsque tu cliques ailleurs, sur un autre élément) elle ne les colore plus, mais il ne perdent pas pour autant leur statut Selected. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com