Teritoto
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 6 juin 2008
-
21 mai 2008 à 00:10
Teritoto
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 6 juin 2008
-
21 mai 2008 à 15:50
Bonjour,
Voici mon problème:
Dans un classeur Excel j'ai plus de 50 worksheets, chacune correspondant à une entreprise. C'est long et pénible de retrouver manuellement la feuille d'une entreprise en utilisant la barre déroulante d'Excel.
Je souhaite donc construire 2 listes déroulantes sur une première feuille afin de faciliter la recherche.
- une première pour choisir le secteur de l'entreprise
- une deuxième pour choisir l'entreprise
- un bouton GO pour afficher automatiquement la feuille de l'entreprise choisie
Sachant que:
-sur chaque feuille, le secteur de l'entreprise est renseigné dans une plage de cellules (léger décalage possible entre chaque feuille) strictement à droite d'une cellule appelée "Secteur"
Je n'arrive pas à résoudre ce problème avec les fonctions classiques d'Excel.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 mai 2008 à 01:23
Salut
C'est une histoire de boucle de recherche :
Saisis tes deux valeurs dans deux TextBox, maTextBoxSecteur et maTextBoxEntreprise, par exemple, puis, dans le bouton Go :
- Fait une boucle qui passe en revue chaque feuille avec "For Next", genre
Dim xx As FeuilleExcel
For Each xx In MonClasseur
- Dans chaque feuille, teste ta plage de cellule pour détecter les paramètres saisis
Il faudra peut-être pour cela donner un nom aux cellules de chaque feuille renfermant ces données
If xx!Secteur = maTextBoxSecteur.Text And _
xx!Entreprise = maTextBoxEntreprise.Text Then
- Si tu l'as trouvé :
- Affiche la feuille, genre xx.Show
- Abandonne la recherche avec un "Exit For"
Bien sûr, ce ne sont pas les termes exacts, je ne suis pas feru d'Excel, à toi d'approfondir
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Teritoto
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 6 juin 2008 21 mai 2008 à 15:50
Salut,
Merci d'avoir répondu aussi vite!
Le souci avec cette solution est que je ne connais pas avec exactitude le secteur et le nom de l'entreprise recherché. De plus, VBA mettrait sûrement un peu de temps à screener chaque feuille.
Je pensais donc dans une feuille à part:
-lister les différents secteurs dans une première colonne
-lister les différentes entreprises selon leur secteur dans les colonnes suivantes
-lier chaque entreprise à sa feuille Excel
Créer 2 listes déroulantes sur une autre feuille (page d'accueil):
-une première pour sélectionner le secteur
-une deuxième qui affiche les entreprises correspondantes
-un bouton GO qui permet d'afficher la feuille de l'entreprise sélectionnée.
Qu'en pensez-vous et comment rédigeriez-vous le code?