Je dois juste activer une certaine feuille de calcul. J'ai une variable de chaîne qui conserve le nom de la feuille de calcul.
La macro suivante vous aiderait-elle?
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
En gros, vous voulez utiliser la fonction .Activate. Ou vous pouvez utiliser la fonction .Select comme ceci:
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Je vous recommanderais d'utiliser l'index de la feuille de travail plutôt que son nom. De cette façon, vous pourrez également parcourir les feuilles de manière "dynamique".
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Cela améliorera également les performances.
Une autre façon de lier (de manière non dynamique) un texte pour activer une feuille de calcul sans macros consiste à transformer la chaîne sélectionnée en lien réel . option/onglet 'Placer dans ce document' et sélectionnez l'onglet que vous souhaitez activer . Si vous cliquez sur le texte (qui est maintenant un lien), la feuille configurée deviendra active/sélectionnée.