VBA : Remplir feuilles selectioné via comobox.

  • Initiateur de la discussion Initiateur de la discussion Jason1826
  • 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 !

J

Jason1826

Guest
Bonjour,

Voila j'aimerai completer un tableau identique sur toutes les feuilles, suelement sur la feuilles selectioner dans le comobox

merci de m'indiquer la formule qui permet de designer la feuille selectioné.

Merci beaucoup pour votre aide.

ci joint le fichier
 

Pièces jointes

Re : VBA : Remplir feuilles selectioné via comobox.

Bonjour Jason et bienvenu, bonjour le forum,

Petit modif du code dínitialisation :
Code:
Private Sub UserForm_Initialize()
For i = 1 To Worksheets.Count
    Me.COMPTE.AddItem Worksheets(i).Name
Next i
Me.COMPTE.ListIndex = 0
End Sub
Ensuite pour récupérer l'onglet tu peux faire par exemple :
Code:
Private Sub COMPTE_Change()
Dim o As Object

Set o = Sheets(Me.COMPTE.Value)
'o.Select
'o.range("A1").Value = "test"
'etc...
End Sub
 
Re : VBA : Remplir feuilles selectioné via comobox.

Merci pour votre aide !

je voudrais ajouter une deuxieme chose si cela est possible
j'aimerai que une fois le compte choisit le nom du client s'affiche automatiquement dans le texbox CLIENT via le tableau qu'il y a dans l'onglet "code ferant"

merci beaucoup
 
Re : VBA : Remplir feuilles selectioné via comobox.

Bonjour Jason, bonjour le forum,

En pièce jointe ton fichier modifié avec le code ci-dessous :
Code:
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
J'ai renommé l'UserForm Userform1 (au lieu de UserForm) pour éviter les confusions possibles...
Le fichier :
 

Pièces jointes

Re : VBA : Remplir feuilles selectioné via comobox.

Bonjour Jason, bonjour le forum,

En pièce jointe ton fichier modifié avec le code ci-dessous :
Code:
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
J'ai renommé l'UserForm Userform1 (au lieu de UserForm) pour éviter les confusions possibles...
Le fichier :


Lorsqu'on tape un numero de compte qui commence par une serie de chiffre qui n'a pas de nom de client mais où finalement il y en a une en modifiant la suite , le popup vient directement avant davoir terminer le n° de compte.

si l'on tape un numero de compte inconnu il y a un bug.

avec toute mes remerciments est il possible de corriger çela facilement ?
 
Re : VBA : Remplir feuilles selectioné via comobox.

pour revenir sur ce que j'ai envoyé precedement,
le mieux serais que si le numero du client n'existe pas (feuille introuvable) est t til possible de proposer la creation de la feuille , nom et numero client.

merci beauoup
 
Re : VBA : Remplir feuilles selectioné via comobox.

Bonjour Jason, bonjour le forum,

En pièce jointe la version 2. J'espère que ça te conviendra... L'onglet se rajoute en dernier. Est-ce convenable ?
Je ne sais pas à quel moment comment créer le client. À la sortie de la Texbox ? Au clic sur l'un des boutons ACHAT, VENTE ? Comment rajouter le compte et le nom dans l'onglet Code gerant ? À la fin ? Trier par numéro de compte ?
En attendant tes réponses pour peaufiner le code...
 

Pièces jointes

Re : VBA : Remplir feuilles selectioné via comobox.

Bonjour Jason, bonjour le forum,

En pièce jointe la version 2. J'espère que ça te conviendra... L'onglet se rajoute en dernier. Est-ce convenable ?
Je ne sais pas à quel moment comment créer le client. À la sortie de la Texbox ? Au clic sur l'un des boutons ACHAT, VENTE ? Comment rajouter le compte et le nom dans l'onglet Code gerant ? À la fin ? Trier par numéro de compte ?
En attendant tes réponses pour peaufiner le code...

merci pour ta reponse!

pour l'onglet en dernier ouai c'est parfait !
pour le lien , je pense que le mieux est que des que le nom du client ne s'affiche pas il propose la creation de l'onglet.
en se qui concerne l'onglet code gerant, que le compte se rajoute trier par numero serai tres bien !

MERCI
 
Re : VBA : Remplir feuilles selectioné via comobox.

Bonjour Jason, bonjour le forum,

En pièce jointe la version 2. J'espère que ça te conviendra... L'onglet se rajoute en dernier. Est-ce convenable ?
Je ne sais pas à quel moment comment créer le client. À la sortie de la Texbox ? Au clic sur l'un des boutons ACHAT, VENTE ? Comment rajouter le compte et le nom dans l'onglet Code gerant ? À la fin ? Trier par numéro de compte ?
En attendant tes réponses pour peaufiner le code...

re bonjour Robert,

Si c'est trop complexe, ne t'embete pas avec cela, c'est deja tres sympa ce que tu as fait!

merci encore
 
- 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
4
Affichages
221
Réponses
5
Affichages
288
Réponses
16
Affichages
468
Réponses
10
Affichages
281
Réponses
8
Affichages
275
Retour