VBA - Variable nom de feuille selon contenu cellule

Fredox

XLDnaute Occasionnel
Bonjour,

Je cherche à créer une variable qui serait un nom de feuille selon le text contenu dans une cellule

J'ai fais cela, cela ne fonctionne pas:

VB:
Dim EXEMPLE As String
Dim sh1 As Worksheet
Set sh1 = Worksheets(1).Range("B1")

Possible d'avoir un coup de main ?

Merci
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Fredox,

Vous déclarez sh1 comme étant de type Worksheet et vous lui affectez un objet qui n'est pas de type Worksheet mais de type Range.
Essayez:
VB:
Dim sh1 As Worksheet, plage As Range
Set sh1 = Worksheets(1)
Set plage = sh1.Range("b1")

'ou directement

Dim plage As Range
Set plage = Worksheets(1).Range("b1")
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Je cherche à créer une variable qui serait un nom de feuille …
donc : As String
…selon le text contenu dans une cellule
On ne sait pas comment ce 'text' doit déterminer la feuille Excel dont vous voulez récupérer le nom. Très nébuleux tout ça …
Deux idées peuvent émerger de ce que vous avez essayé.
La première n'a aucun rapport avec ça :
Pour initialiser une variable Worksheet en sorte qu'elle représente une feuille Excel du classeur actif dont le nom est spécifié en cellule B1 de la feuille représentée soit par Me soit par ActveSheet selon le contexte :
VB:
Dim sh1 As Worksheet
Set sh1 = Worksheets(Range("B1").Value)
Pour initialiser une variable String au nom d'une feuille Excel du classeur actif dont le numéro d'ordre dans les onglets est spécifié en cellule B1 de la feuille non précisée et donc assumée :
VB:
Dim sh1 As String
sh1 = Worksheets(Range("B1").Value).Name
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 112
Messages
2 085 409
Membres
102 884
dernier inscrit
Macarena