variable nom du classeur et de l'onglet

aubelix

XLDnaute Impliqué
Bonsoir à tous les amis du Forum.
On ne le dira jamais assez, merci à tous pour votre aide...


J'aurai aimé avoir la syntaxe pour pour pouvoir dans une variable déclarée au lancement de mon fichier, (nom du classeur + nom de l'onglet) rappeler cette variable qui fera référence à cet onglet de ce classeur.
Je vous joint un fichier qui j'espère sera explicite. Cette macro ouvre un userform,
en réduisant la feuille 'SUIVI' après le déroulement de la macro, agrandir la feuille 'SUIVI'. Si j'ai plusieurs classeurs d'ouverts, la macro s'exécute sur une autre feuille autre que SUIVI.

Merci pour votre aide et bon week-en à tous
:)
 

aubelix

XLDnaute Impliqué
Dernière essai.
Bonsoir à tous


Option Explicit
------------------------------------------------------------
Private Sub Workbook_Open()
On Error Resume Next
'Je voudrais que Mafeuille soit la variable de (FICHIER et onglet SUIVI)
Dim Mafeuille As Worksheet
ActiveWindow.WindowState = xlMinimized
UserCONFIG.Show
End Sub
------------------------------------------------------------


Private Sub OptionButton1_Click()
On Error Resume Next
Unload Me

' Filre de l'encours sur le CHOIX 1

On Error Resume Next
Mafeuille.Select
Selection.AutoFilter Field:=1, Criteria1:='4'
ActiveWindow.WindowState = xlMaximized
CreateObject('wscript.shell').popup 'Voue avez affiché le CHOIX 1 ', 1, 'CHOIX 1' 'Le chiffre 2 correspond à 2 secondes

End Sub [file name=FICHIER.zip size=18195]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FICHIER.zip[/file]
 

Pièces jointes

  • FICHIER.zip
    17.8 KB · Affichages: 12
  • FICHIER.zip
    17.8 KB · Affichages: 21
  • FICHIER.zip
    17.8 KB · Affichages: 16

ZZR09

XLDnaute Occasionnel
Bonsoir aubelix, le forum

Essaye ça (avant le lancement de la macro ou dans ThisWorkbook):

Code:
Option Explicit
Public NomClasseur, NomFeuill As String

Private Sub Workbook_Open()
NomClasseur = ActiveWorkbook.Name
NomFeuill = ActiveSheet.Name
End Sub

A+

;)
 
A

aubelix

Guest
Bonsoir ZZR09 et merci pour ta eéponse.

Comment appeler ma feuille avec tes variables (synyaxe)

On Error Resume Next

xxxxxxxxx.select

Selection.AutoFilter Field:=1, Criteria1:='4'
ActiveWindow.WindowState = xlMaximized
CreateObject('wscript.shell').popup 'Voue avez affiché le CHOIX 1 ', 1, 'CHOIX 1' 'Le chiffre 2 correspond à 2 secondes
 

ZZR09

XLDnaute Occasionnel
re,

Dans mon exemple, la feuille s'appelle 'NomFeuill'; il suffit donc de lui dire :

Sheets(NomFeuill).Select

Mais, si je me souviens bien de ton exemple, il s'agit de la première feuille du classeur (celle ouverte en premier par défaut), il n'est donc pas nécessaire d'utiliser le nom:
Code:
sheets(1).Select

Par contre, si tu es complètement ailleurs (dans un autre classeur) il faut lui rappeler où aller:

Code:
Workbook(NomClasseur).Activate
Sheets(NomFeuill).Select

ou même (pas sûr que ça fonctionne mais c'est moins de lignes : à essayer)
[/code]
Workbook(NomClasseur).Sheets(NomFeuill).Select
[/code]

A+
:)

Message édité par: zzr09, à: 07/10/2005 20:42

Message édité par: zzr09, à: 07/10/2005 21:10
 
A

aubelix

Guest
Bonjour matinal à tout le forum.

Mon projet me tiens à coeur, aussi, je me permets de vous ressoliciter.
Merci pour les réponse, mais ça ne fonctionne pas, j'ai un message d'erreur :

Erreur de compilation
Sub ou Fonction non définie.

Mon but est le suivant, je le résume :

J'ouvre un classeur qui est sauvegardé sous un nom différent donc évolutif pour des raisons de traçabilité. Ce que je veux obtenir, c'est la mise en mémoire dans une variable du nom de ce classeur, du nom de l'onglet.
En effet, si j'ai plusieurs classeurs d'ouverts, en rappelant via les variables le classeur pour faire les traitements 'sur ce classeur'.

Merci pour votre aide
 

ZZR09

XLDnaute Occasionnel
Salut aubelix, le forum

Pour sélectionner une feuille 'suivi' par exemple c'est :

sheets('suivi').select

ou

Par contre, pour sélectionner un classeur (= un fichier .xls) c'est :

Windows('NomFichier').Activate

tu pourras ainsi naviguer d'un classeur à l'autre, de même pour les feuilles (onglet pour toi).

L'erreur affichée vinet peut-être de la fausse instruction que je t'ai donnée : Workbook(NomFichier).activate.
Désolé, j'ai fourché

A+

;)

Message édité par: zzr09, à: 08/10/2005 15:31
 

Discussions similaires