Comment faire lire à une macro le nom d'une feuille de classeur ?

M

Matt

Guest
Bonjour à tous,

j'ai un problème qui m'a paru simple en apparence mais dont je n'ai pas pu trouvé la solution par moi même (Pb de syntaxe ?).

Alors je récupère une feuille excel d'un fichier ascii. Cette feuille est nommée d'après le fichier ascii. J'éxécute plusieurs macros sur les valeurs de cette feuille dont une qui créée une nouvelle feuille et fait un copier collé. A ce moment là, je souhaite retourner sur ma première feuille mais je ne sais pas comment.
En fait je ne maitrise pas le nom de la première feuille (il change suivant le fichier ascii que j'utilise) donc je voudrais que le VBA aille le lire et le mette dans une variable dont je pourrais me resservir.

Merci d'avance, A+, Matt.
 
S

sousou

Guest
bonjour Matt

le principe:

worksheets( ici soit le nom de la feuille soit l'index du numéro de feuille)

exemple pour avoir le nom de la feuille active:
nom=activesheet.name
si tu veux le nom de la deuxième feuille
nom= worksheets(2).name

dans ton cas peut être( pour activer la feuille1):

worksheets(1).activate

j'éspère que cela t'aidera
 
@

@+Thierry

Guest
Bonjour Sousou, Matt, re BipBip

Attention, différents types de Variables !!!


Pour éviter de mettre la confusion dans l'esprit de ceux et celles qui pourraient nous lire...

Dans l'exemple de Sousou
Nom= Worksheets(2).Name
WorkSheets(Nom).Activate
On doit déclarer Nom => Dim Non As String

Dans l'exemple de BipBip
For Each sh In ActiveWorkbook.Sheets
MsgBox sh.Name
On doit déclarer sh=> Dim sh As WorkSheet

Et pour ne pas avoir de surprise si le WorkBook ne contient pas que des "Sheets" (Charts, Dialogs) il est préférable d'utiliser cette syntax :
For Each sh In ActiveWorkbook.WorkSheets

Bon Appétit
@+Thierry
 
@

@+Thierry

Guest
Re Bonjour Matt

Je suis formel, le Nom d'une feuille (Nom de l'onglet) retourne une chaine de caractères de longueur variable (String)

Dans un Classeur Vierge, fais ce test Matt :
Sub TEST()
Dim nom As String
nom = ActiveSheet.Name
MsgBox nom
End Sub

Et tu verras bien que ce n'est pas là où ça ne marchait pas, tu devais avoir un autre problème ailleurs Matt...

Bonne fin de journée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz