Nom de feuille variable VBA

Elodie87

XLDnaute Nouveau
Bonjour,

J'ai une variable Feuille de type string dans un module (cette variable est publique). J'aimerai pouvoir remplacer le nom de l'onglet par ma variable feuille dans : Sheets("C1 Gp1"). J'ai essayé Sheets("Feuille") et Sheets(Feuille) mais rien ne marche ! Pouvez vous m'aider svp !!!!! Merci
 

Elodie87

XLDnaute Nouveau
Re : Nom de feuille variable VBA

Merci pour vos réponses mais ça ne marche toujours pas. En fait j'ai plusieurs formulaires. Le premier Formulaire est un formulaire "d'accueil" qui permet de choisir un des 3 formulaires de saisie que j'ai réalisés en cliquant sur un des 3 boutons. En fonction du bouton cliqué, le bon formulaire s'ouvre et c'est là que j'aurai besoin de changer dans mes macros le nom de ma feuille en modifiant la ligne suivante :

Sheets("C1 Gp1").Range("F2").Value = TextBoxOperateur.Value

La feuille dépend du formulaire choisi :
Formulaire 1 : Feuille "C1 Gp1"
Formulaire 2 : Feuille "C1 Gp2"
Formulaire 3 : Feuille "C1 Gp3"

Les 3 formulaires ont exactement les mêmes macros j'ai juste besoin de changer le nom de la feuille c'est pour ca que je pensais passer par une variable.

J'espère que je me suis pas trop mal exprimée...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Nom de feuille variable VBA

Bonjour le fil, bonjour le forum,

Si au clic sur le bouton ça t'active le bon onglet, il te suffirait de mettre dans le code :
Code:
With ActiveSheet
[COLOR=red] '... ton code sans oublier me mettre une point devant tout ce qui est relatif à l'onglet en cours[/COLOR]
    [B][COLOR=red].[/COLOR][/B]Range("A1").Select 'par exemple
End With
 

Cousinhub

XLDnaute Barbatruc
Re : Nom de feuille variable VBA

Bonsoir,

une petite idée, comme ça..

en début de code, tu définis la feuille de destination en fonction du nom de l'userform comme ceci :

Code:
Dim Fl As Worksheet
Select Case Me.Name
    Case "UserForm1"
        Set Fl = Sheets("C1 Gp1")
    Case "UserForm2"
        Set Fl = Sheets("C1 Gp2")
    Case "UserForm3"
        Set Fl = Sheets("C1 Gp3")
End Select
With Fl
'ton code
End With

N'oublie pas de mettre les points (.) devant Range, pour faire référence à la bonne feuille :

Code:
With Fl
    .Range("A1").Value = 1
End With

Bon courage
 

Discussions similaires

Réponses
3
Affichages
159
Réponses
7
Affichages
407

Statistiques des forums

Discussions
312 489
Messages
2 088 853
Membres
103 975
dernier inscrit
denry