nulosvba
-
Modifié par BunoCS le 5/04/2016 à 09:10
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
5 avril 2016 à 10:56
Bonjour,
J'ai une macro me permettant de chercher le nom d'un onglet dans mon classeur via une fenêtre de dialogue mais je souhaiterais que la recherche ne se fasse que sur les onglets visibles de mon classeur ?
que puis je ajouter à mon code?
Sub aff_Onglet()
Dim nomF As String
nomF = InputBox("Saisir le nom de l'onglet", "Activer onglet")
Worksheets(nomF).Activate
On Error Resume Next
On Error GoTo 0
End Sub
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention 4 janvier 202414 5 avril 2016 à 10:06
Bonjour,
3 choses :
1- Le gestionnaire d'erreur. Tel qu'il est codé, il est inutile. L'unique bug que pourrait rencontrer ta macro doit se trouver entre les deux lignes :
On Error Resume Next
'ICI la ligne qui risque de faire bugguer le programme
On Error GoTo 0
A toi de savoir ce qui peut bloquer ;-)
2- Pourquoi vouloir coder cela? Excel donne déjà la possibilité de naviguer entre les feuilles visibles du classeur actif. Tu disposes déjà de 4 flèches de navigation entre les feuilles, en bas à gauche de ton classeur, justeà la gauche de ton premier onglet.
Essaie un clic droit sur ces flèches, juste pour voir...
3- Tant qu'à vouloir le coder... Autant le faire un peu mieux.
Pourquoi pas avec un UserForm contenant une ListBox.
Au lancement de l'UserForm, la ListBox affiche le nom des feuilles visibles, au clic sur un des items de la listbox, la feuille est sélectionnée et l'userform se ferme...
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 Modifié par ucfoutu le 5/04/2016 à 10:42
Bonjour, Franck,
En ce qui concerne le point 2
Il s'est peut-être mis (plusieurs raisons possibles) dans un cas où cet affichage (onglets, flèches, etc ...) n'est plus accessible
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention 4 janvier 202414
>
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018 5 avril 2016 à 10:44
Bonjour Jacques,
En effet, ce n'est pas faux.
Je n'y ai pas pensé.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211
>
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention 4 janvier 2024 Modifié par ucfoutu le 5/04/2016 à 10:56
Il est peut-être même allé encore plus loin ...
Avec ceci, par exemple :
ActiveWindow.DisplayWorkbookTabs = False
qui n'afficherait rien, tout en ne rendant pas les feuilles inaccessibles par code (au contraire du masquage).
Modifié par ucfoutu le 5/04/2016 à 10:42
En ce qui concerne le point 2
Il s'est peut-être mis (plusieurs raisons possibles) dans un cas où cet affichage (onglets, flèches, etc ...) n'est plus accessible
5 avril 2016 à 10:44
En effet, ce n'est pas faux.
Je n'y ai pas pensé.
Modifié par ucfoutu le 5/04/2016 à 10:56
Avec ceci, par exemple :
ActiveWindow.DisplayWorkbookTabs = False
qui n'afficherait rien, tout en ne rendant pas les feuilles inaccessibles par code (au contraire du masquage).