Private Sub UserForm_Initialize() 'à l'initialisation de l'Userform
Dim o As Object 'déclare la variable o (Onglet)
For Each o In Sheets 'boucle sur tous les onglets du classeur
If o.Name <> "Feuil1" Then Me.COMPTE.AddItem o.Name 'ajoute le nom de l'onglet à la combobox "COMPTE" si différent de "Feuil1"
Next o 'prochain onglet de la boucle
Me.COMPTE.ListIndex = 0 'affiche le premier de la liste (lance la procédure Change de la combobox "COMPTE")
End Sub
Private Sub COMPTE_Change() 'au changement de la combobox "COMPTE"
Dim oa As Object 'déclare la variable oa (Onglet Actif)
Dim r As Range 'déclare la variable r (Receherche)Set oa = Sheets(Me.COMPTE.Value) 'définit l'onglet actif
With Sheets("code gerant") 'prend en compte l'onglet "code gerant"
Set r = .Columns(1).Find(Me.COMPTE.Value, , xlValues, xlWhole) 'définit la recherhce r (recherche la valeur de la combobox "COMPTE" dans la colonne 1 (=A) de l'onglet
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
Me.CLIENT.Value = r.Offset(0, 1).Value 'récupère le client dan sla colonne B
Else 'sinon
MsgBox "Il n'y a pas de client attribué à ce compte" 'message
Me.CLIENT.Value = "" 'vide le textbox "CLIENT"
End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet "code gerant"
oa.Select 'sélectionne l'onglet oa
End Sub
Sub listing_onglet()
For i = 1 To Worksheets.Count
MsgBox Worksheets(i).Name
Next i
End Sub