Nom onglet dans une variable

  • Initiateur de la discussion Initiateur de la discussion JORDAN
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JORDAN

XLDnaute Impliqué
Bonjour tout le monde,

Je n'arrive pas à trouver le code pour sélectionner un onglet avec son nom dans une variable, j'ai essayé ceci mais sans succès
Code:
Sheets(RefClient).Select
Par avance merci pour votre aide
 
Re : Nom onglet dans une variable

Bonjour,

ceci fonctionne chez moi, code placé dans un module standard, agit sur le classeur actif :
Code:
Dim RefClient As String
RefClient = "Feuil1"
Sheets(RefClient).Select

Attention, la feuille ne doit pas être masquée.

bonne journée
@+
 
Re : Nom onglet dans une variable

Bonjour,

J'avais galéré aussi sur cette question, et au final j'ai contourné le problème:
Je boucle sur les onglets, je compare le nom, si je trouve, je sélectionne.

Code:
      Dim WS as Worksheet
      For each WS in thisWorkbook.Worksheets
            If WS.Name = maVariable Then
                 WS.Select
                 Exit for
            End If
      Next WS

Pas forcément le plus optimisé, mais ça marche à tous les coups.

Cordialement,
Orodreth
 
Re : Nom onglet dans une variable

Re le forum, bonjour Pierrot,

Entièrement d'accord avec toi. Nul besoin de sélectionner la feuille pour la manipuler en VBA.

Petite remarque: le code que j'ai formulé permet justement de retrouver la feuille, puis de travailler dessus directement avec l'objet Worsheet (dans mon code, c'est la variable WS), tout en permettant de sécuriser l'appli si la feuille n'existe pas.

Cordialement,
 
Re : Nom onglet dans une variable

Re,

si l'on veut tester l'existence d'une feuille, on peut égalementutiliser un code de ce type :
Code:
Sub Test()
Dim nomfeuille As String
nomfeuille = "Feuil1"
If Not FeuilleExiste(nomfeuille) Is Nothing Then MsgBox "OK, existe..."
End Sub

Function FeuilleExiste(f As String) As Worksheet
On Error Resume Next
Set FeuilleExiste = Worksheets(f)
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
113
Réponses
43
Affichages
786
Réponses
11
Affichages
360
Réponses
3
Affichages
255
Retour