Rechercher une valeur variable dans le nom des onglets
Résolu
titi17-08
Messages postés
123
Statut
Membre
-
titi17-08 Messages postés 123 Statut Membre -
titi17-08 Messages postés 123 Statut Membre -
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
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
-
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
-
-
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