Afficher feuille depuis valeur Combobox/Listbox

Bonjour,

En exemple, je poste un fichier dans lequel j'ai placé une USF. Celle-ci comporte un combobox qui affiche la valeur de la cellule A1 de toutes les feuilles depuis la 2ème feuille. Je souhaite conserver cette procédure

Par contre, comment faire pour afficher la feuille associée si on clique sur le bouton Commande bouton 1 ?

Merci à vous.

JB

Bonjour

Pourquoi faire simple quand on peut faire compliqué...

Ci joint ma solution

A+ François

Bonjour JeanBaptisteP, Fanfan38,

Avec le code ci-dessous, qui suivra l'ordre des feuilles.

Private Sub ComboBox1_Change()
ind = ComboBox1.ListIndex
Sheets(ind + 2).Activate
End Sub

Note: Il n'y a pas besoin du CommandBouton, la feuille s'affiche directe.

Bonjour fanfan38,

Merci pour votre retour, cependant ce n'est pas ce que je recherche. Je souhaite afficher la valeur de la cellule A1 dans le combobox mais si je clique sur le bouton Commande, j'affiche la feuille qui correspond à la valeur A1.

Ex: Si je choisis "Onglet4" dans la combobox, j'affiche la feuille "Ville 42".

PS: j'ai modifié ma demande initiale pour être plus clair.

Merci quand même.

JB

Suite,

Fichier en retour,

Bonjour XCellus,

Merci pour votre proposition, cela répond à mon 1er besoin.

Par contre je bloque sur un code, j''ai 4 listbox pour lesquelles j'affiche les feuilles suivantes:

Listbox1 => j'affiche les feuilles qui commencent par IE

Listbox2 => j'affiche les feuilles qui commencent par IT

Listbox3 => j'affiche les feuilles qui commencent par IE2

Listbox4 => j'affiche les feuilles qui commencent par IT2

Je ne dois pas boucler correctement je pense, j'ai essayé quelques manip sans succès.

Auriez-vous une proposition svp ? Il s'agit de la USF1 dans mon fichier ci-joint

Merci

JB

17jb-v3.xlsm (34.07 Ko)

Autant pour moi, j'ai oublié de remplacer "j" par "i" dans la boucle...

If Left(Sheets(i).Name, 3)

Je bloque sur les échanges entre listbox :(

J'aimerais pourvoir sélectionner un élément (ou plusieurs) dans les 4 premières listbox et si je clique sur ">" je le:/les fait apparaitre dans la listbox "Inspections sélectionnées".

Si une fois présent dans "Inspections sélectionnées" je souhaite le/les redéplacer dans leur listbox d'origine, j'appuie sur "<"

Le souci, comment savoir quel était leur listebox d'origine ? Je poste le fichier en PJ ( c'est USF1 qui pose problème)

Merci à vous

JB

19jb-v3.xlsm (32.22 Ko)

Bonjour,

Pas de solution possible ?

Bonne journée

JB

Bonjour JeanBaptisteP,

En retour, il y a toujours une solution...

16jb-v3modif.xlsm (37.56 Ko)

Note: j'ai fait l'exemple pour la 1ière ListBox de l'USF 1.

Continue sur le même principe pour ajouter le code pour les autres.

Si besoin, reviens sur le fil.

A nouveau,

Cette solution convient-elle ? pour échanger entre les 4 listbox vers la dernière.

Attention seule la 1ière listbox est faite pour l'exemple.

Bonsoir XCellus,

Merci j'ai réussi à faire la manip pour les autres listbox. Par contre si je sélectionne plusieurs éléments dans le listbox 5 (issus de listbox différentes) pour les ramener vers leurs listbox respectives, cela ramène tous les éléments dans la même listbox. Existe -il une solution à cela ou faut-il tout simplement interdire la multi-sélection en listbox 5 ?

23jb-v4modif.xlsm (34.20 Ko)

Merci beaucoup en tout cas

JB

A nouveau,

Voilà, c'est gagné... H H

En retour le fichier. Pour l'instant par une variable feuille pour le test.

11jb-v4modif.xlsm (42.30 Ko)

Bonjour JeanBaptisteP,

Nouvelle version sans référence à la feuille sommaire.

C'est préférable et plus rapide surtout si beaucoup de données.

17jb-v4mod2.xlsm (43.01 Ko)

Bonjour XCellus,

C'est parfait, un immense merci !!!

Maintenant à partir de chaque donnée présente dans la Listbox5 j'aimerais pouvoir récupérer le nom de sa feuille respective et travailler sur cette feuille.

Ex: "PARIS" se trouve en listbox5, si je clique sur le bouton "Valider" en bleu, je sélectionne la feuille "IE_PAR" et je travaille dessus.

usf

Mon souci étant de connaître le nom de la feuille associé à l'info "PARIS" car ce nom de ville peut être présent à plusieurs endroits dans mon classeur.

Si besoin, on peut créer un tableau au préalable avec en colonne A la nom de la feuille et en colonne B la valeur de sa cellule A1, et ce pour chaque feuille.

Auriez-vous une autre idée ?

Merci beaucoup XCellus !

JB

A nouveau,

Si besoin, on peut créer un tableau au préalable

Non, nul besoin car dès qu'il sont en ListBox Inspection, on peut savoir d'où il vienne d'après les ListBox 1 à 4.

Seul les villes ayant les mêmes 3 premières lettres poseraient un souci (à contourner). Exemple: TOUlouse et TOUrs.

Ci-dessous, la modif actualisée.

10jb-v4mod2.xlsm (47.69 Ko)

Je reviens en soirée.

Bonne Journée.

A nouveau XCellus

C'est vraiment parfait ! J'ai fait le test avec des feuilles qui ont une valeur en A1 identique mais avec un nom de feuille différent et cela fonctionne aussi, c'est top!

Par contre, nul besoin d'afficher le USF à nouveau si on double-click dans la cellule qui contient la donnée de la listbox. Comment adapter cela ?

Aussi, lorsque je réalise l'opération de valider le USF, la feuille est correctement sélectionnée. Par contre quand je rouvre à nouveau le USF il garde en mémoire les données en listbox5, comment faire un reset à l'ouverture du USF ?

En tout cas, très bon travail, je vous remercie beaucoup !

JB

Suite,

J'aimerais pourvoir sélectionner un élément (ou plusieurs) dans les 4 premières listbox et si je clique sur ">" je le:/les fait apparaitre dans la listbox "Inspections sélectionnées".

Quel est l'intérêt d'avoir plusieurs éléments dans la ListBox Inspections?

L'avantage c'est de pouvoir cibler d'abord une feuille pour y travailler, puis une fois terminé, de revenir sur l'USF pour cibler une autre feuille à travailler.

Par contre quand je rouvre à nouveau le USF il garde en mémoire les données en listbox5, comment faire un reset à l'ouverture du USF ?

Si c'est pour ne plus les avoir par un Reset et recommencer à choisir une ou plusieurs villes?

En fait l'USF fait un RAZ si tu quittes par la croix rouge ou par un bouton Quitter à insérer avec le code adéquat.

Maintenant si tu ne souhaites pas le double-clic sur A1 va sur le code du Workbook et enlève

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then Cancel = True: UserForm1.Show
End Sub

Une autre solution serait d'avoir deux boutons différents de validation. L'un comme celui en place (voir macro dans ce bouton)

L'autre comme VALIDER et Quitter, qui fera en plus le RAZ.

A voir...

Bonsoir XCellus,

Tout d'abord, merci beaucoup pour votre retour, c'est gentil de participer à mon projet

Pour répondre à vos différentes questions:

"Quel est l'intérêt d'avoir plusieurs éléments dans la ListBox Inspections?" => en fait, je cherche à réaliser un copier coller de données présentes sur chaque feuille de la listbox5 sans avoir à revenir les sélectionner dans le USF. Pour réaliser le copier/coller j'ai déjà la code VBA. L'idéal serait de pouvoir stocker les valeurs de la listbox5 dans une variable pour les réutiliser après dans mon code VBA qui me permet de faire le copier/coller. Avez-vous une autre proposition pour améliorer ?

Ex: Si PARIS et NANTES sont présents dans listbox5, une fois que je clique sur "Valider" je copie/colle des éléments de la feuille qui se nomme "PARIS" vers une autre feuille, ensuite je fais la même manip pour la feuille "NANTES", etc

"Si c'est pour ne plus les avoir par un Reset et recommencer à choisir une ou plusieurs villes? En fait l'USF fait un RAZ si tu quittes par la croix rouge ou par un bouton Quitter à insérer avec le code adéquat." => Je vais suivre votre idée, une fois après avoir cliqué sur le bouton "VALIDER" et stocké les données de la listbox5, je forcerai la fermeture du USF.

Merci encore XCellus !

Bonne soirée

JB

Bonsoir JeanBaptisteP,

En fonction des dernières réponses, tout va dépendre si ce qui est copié des feuilles villes vers la feuille cible est présent dans les mêmes lignes et mêmes colonnes.

Ce qui serait plus automatisable. Et dans ce cas il serait possible de boucler sur toutes les villes de la ListBox5 pour copier (par VBA) les mêmes emplacements afin de les reporter et ajouter progressivement vers la feuille cible.

Si les éléments copiés sont plus disparates, donc différents entre les feuilles villes. La procédure manuelle est + efficace.

30jb-v4mod3.xlsm (43.96 Ko)
Rechercher des sujets similaires à "afficher feuille valeur combobox listbox"