J'ai juste besoin d'activer une certaine feuille de calcul. J'ai une variable de type chaîne qui conserve le nom de la feuille de calcul.
Réponses
Trop de publicités?La macro suivante vous aiderait-elle ?
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
En fait, vous voulez utiliser la fonction .Activate. Ou vous pouvez utiliser la fonction .Select comme suit :
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Je vous recommande d'utiliser l'index de la feuille de calcul au lieu du nom de la feuille de calcul, de cette façon vous pouvez également boucler à travers les feuilles "dynamiquement".
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Il permettra également d'améliorer les performances.
Une autre façon de lier (non dynamiquement) un texte pour activer une feuille de calcul sans macros consiste à faire de la chaîne sélectionnée un lien réel. Pour ce faire, sélectionnez la cellule contenant le texte et appuyez sur CTRL+K, puis sélectionnez l'option/l'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.