Rechercher une valeur variable dans le nom des onglets

Résolu
titi17-08 Messages postés 117 Date d'inscription   Statut Membre Dernière intervention   -  
titi17-08 Messages postés 117 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour Le forum,
mon petit souci :
Dans mon fichier ,
chaque onglet contient le mois et l'année ex Aout 21
dans un userform, je souhaiterais quand je valide que mon code retrouve le mois (variable remplie dans mon useform) correspondant, qu'il active l'onglet et après d'autres actions ( dont je connais le code)
je vous remercie pour votre aide.
belle journée a vous

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

mettre une ListBox dans l'UserForm avec ce code:

Option Explicit
Private Sub ListBox1_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
 Sheets(ListBox1.List(ListBox1.ListIndex)).Select
End Sub
Private Sub UserForm_Initialize()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    'Renvoie le nom de chaque feuille
    ListBox1.AddItem (Ws.Name)
Next Ws
End Sub


l'activation de la feuille se fait au clic correspondant dans la Listbox

https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G

0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Un petit exemple
https://www.cjoint.com/c/KGCmQMMyaTB

Cdlmnt
0
titi17-08 Messages postés 117 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonsoir,
Je me suis peut etre mal exprimé
dans mon useform:
j'ai un liste des mois
quand je valide mon useform il doit retrouver la feuille correspondant au mois dans le userform.
et le selectionne voici mon code:
Private Sub VALIDER_Contrat_Click()
Dim nomf As String
Dim sh As Worksheet
nomf = Debut_Contrat_M.Value ' nom de la feuille a selectionner
For Each sh In Sheets
If Left(.Value, 8) = nomf.Value Then
Sheets(nomf).Select


Range("A7" & Range("A26").End(xlUp).Row + 1).Select
Range(0, 3).Value = Nom_Freelance.Value
Range(0, 4).Value = Prenom_Freelance.Value
Range(0, 5).Value = Tel_Freelance.Value
Range(0, 6).Value = Statut_Freelance.Value
Range(0, 11).Value = Nb_jours.Value
Range(0, 12).Value = TJM_Achat.Value
Range(0, 13).Value = TJm_Contrat.Value
Range(0, 14).Value = TJM_Vente.Value
Range(0, 16).Value = Effort.Value
Range(0, 18).Value = Duree_Contrat.Value
Range(0, 20).Value = Nb_jours.Value
Range(0, 23).Value = Debut_Contrat_J.Value & "/" & Debut_Contrat_M.Value & "/" & Debut_Contrat_A.Value
End If
Next sh
End Sub

je vous remercie par avance
titi
0