variable nom de feuille

rlebigre

XLDnaute Nouveau
Bonjour à tous,

Je fait une nouvelle fois à vous pour m'aider à faire quelque chose en VB

J'ai un nom d'onglet qui est stocké dans une variable. Cette variable je m'en sers pour la mettre en Caption sur un CommandButton.

Je souhaiterais faire un test pour savoir si la feuille existe dans le calsseur Excel et si elle existe la mettre en Caption dur mon commandbutton.

En résumé ma macro serai du genre/

nomfeuille=var
test si la feuille existe
si la feuille existe alors commandbutton.cpation=nomfeuille
sinon
commandbutton.caption=''


Si je ne suis pas assez clair merci de me le dire.

@+
 

Paladin

XLDnaute Junior
Bonjour le fil,
Bonjour le forum,

A la va-vite, je verrais qqch comme ça :
Code:
NomFeuille = 'XXX'
I = 1
While I < Worksheets.Count
If Sheets(I).Name = NomFeuille Then
CmdButton.Caption = NomFeuille
Else
CmdCaption = ''
I = I + 1
Wend

A tester ... (et vérifier car je suis un peu trop occupé là ...)
 

rlebigre

XLDnaute Nouveau
Re-bonjour,

J'ai donc essayé les codes mais cela ne marche pas.

En effet la boucle trouve bien le nom de la feuille et l'affecte au cmd button, mais comme elle scanne tous les onglets, elle eface aussitot le caption du bouton.

J'ai réussi à m'en sortir avec un GoTo vers une balise. La ca marche :woohoo: .

Je vous remercie car c vous qui m'avez donné la trame de le boucle

A+
 

excalibur

XLDnaute Impliqué
bonjour rlebigre ,Shining ,HawkPaladin, le forum adapte ce code en passant par une fonction dans private initialize call test end sub dans module Option Explicit
Function FeuilleExiste(Nom$) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ''
Err.Clear
End Function
Sub test()
Dim var As String
var = [a1]
[a2] = FeuilleExiste(var)
If [a2].Value = False Then
UserForm1.CommandButton2.Caption = ''
Else
UserForm1.CommandButton2.Caption = [a1]
End If
End Sub'teste la feuille nom dans cell a1 renvoie vrai ou faux dans a2 a adapter salutations
 

rlebigre

XLDnaute Nouveau
Re-bonjour Excalibur, Shining Hawk, Paladin

Excalibur, ta manière a l'air sympa mais je ne comprends pas trop comment l'intégrer dans mon module. En particulier en ce qui concerne Option Explicite dans le module.

Pourrais-tu eclairer ma lanterne sur ce point et m'expliquer un peu ta fonction si cela ne te dérange pas.

Merci d'avance.

@+
 

excalibur

XLDnaute Impliqué
rebonjour rlebigre , le forum en fait option explicit c est la premiere ligne que tu trouves dans chaque module ou tu mets tes macros cela t oblige a declarer les variables explicitement le code est plus claire evite beaucoup d erreurs ect... ligne non obligatoire mais fortement conseillee apres tu mets tes macros sub & fonction en simplifiant la macro sub test appel la fonction feuilleexiste celleci lui renvoi un valeur boolean = vrai ou faux je la mets dans la cell a2 ensuite je declare un variable var evec l instruction dim une condition if si vrai caption nom feuille si faux ' blanc ' termine salutations [file name=essai_20050812175206.zip size=12085]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essai_20050812175206.zip[/file]
 

Pièces jointes

  • essai_20050812175206.zip
    11.8 KB · Affichages: 42

Discussions similaires

Statistiques des forums

Discussions
312 352
Messages
2 087 541
Membres
103 583
dernier inscrit
CYP_CHZ