variable nom de feuille

  • Initiateur de la discussion Initiateur de la discussion rlebigre
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

rlebigre

Guest
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.

@+
 
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à ...)
 
Salut le forum,

ca doit aussi marcher...

For Each feuille In ActiveWorkbook.Sheets
If feuille.Name = 'Le nom que tu veux' Then
ton_boutton.Caption = 'Le nom que tu veux'
Else
ton_boutton.Caption = ''
End If
Next feuille


Tchô
@+
 
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+
 
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
 
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.

@+
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
471
W
Retour