[VBA]Extraire N° provenant du nom du bouton

Fermé
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 16 août 2010 à 16:32
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 17 août 2010 à 15:56
Bonjour,

J'ai un classeur Excel dans lequel j'ai un tableau de 250 clients numérotés de 1 à 250.
Pour chaque client j'ai des boutons qui actionnent des formulaires demandant des informations sur celui ci, et les rentre dans le tableau du client. Ces boutons possèdent le même programme pour chaque client, car ils demandent des informations similaires.

Je cherche donc un moyen ou à partir du nom du bouton (je sais pas, par exemple session1, session2 etc...), je peux récupérer le numéro présent dans ce nom de bouton afin de tous leur assigner la même macro (Session). Ce programme récupererait le nom du bouton et en extrairerait le numéro pour le mettre dans la variable numclient (en l'occurence 1 à 250).

En gros, tout les boutons utiliseraient la même macro, mais avec un nom différent ils afficheraient les informations aux endroits de la feuille Excel ou sont présents les clients numérotés.

Client 1 :
[Bouton_session1] [Bouton_formulaire1]
Info A :
Info B :
Info C :

Client 2 :
[Bouton_session2] [Bouton_formulaire2]
Info A :
Info B :
Info C :

Client 3 :
[Bouton_session3] [Bouton_formulaire3]
Info A :
Info B :
Info C :

les 3 boutons de session doivent utiliser la macro "session", qui inscrit le nom du client à côté du numéro correspondant. Les boutons de formulaires utilise la macro "formulaire" qui inscrit les info A, B et C dans le bon endroit, toujours en se basant sur le numéro.
________________________

Comme j'ai 250 clients (et sûrement plus à l'avenir), cela m'éviterait d'écrire 250 macros...Pensez-vous que c'est possible ?

Merci beaucoup :-)

Mike.

8 réponses

Bonjour,

Pourquoi ne pas faire qu'un seul bouton et demander, en même temps que les autres informations, le numéro client ? faire ça avec une combobox ou une textbox ?
0
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
17 août 2010 à 10:19
Bonjour,

Les numéros de clients ne sont pas renseignés par celui qui utilise le programme car il ne les connait pas.

Il n'y a aucun moyen ? :$
0
bacus13 Messages postés 30 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 1 septembre 2010 8
17 août 2010 à 10:33
Bonjour,

Mis à part si l'utilisateur peut entrer le nom du client et ensuite faire une recherche sur ce nom, je ne vois pas comment faire...
0
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
17 août 2010 à 12:33
En fait il faut juste récupérer le nom du bouton cliqué dans sa propre macro...un peu comme me.name mais pour un sub, pas un userform ^^

Après je ferai une sorte de :



For I = Len(nom_boutonactuel) To 1 Step -1
If Mid(numpc, I, 1) = InStr("1234567890) Then
c = Mid(numpc, I, 1) & c
else
c = numpc
Exit For

Bon la formule est fausse, mais je peux pas encore la tester, vu que j'arrive pas a récupérer le nom du bouton actuel :S
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
17 août 2010 à 13:09
Bonjour,

« Comme j'ai 250 clients (et sûrement plus à l'avenir)... »

et tu comptes écrire du code chaque fois tu auras un nouveau client ?

Ne serait-il pas plus simple de choisir le client dans un combo ou listbox ?

Patrice
0
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
17 août 2010 à 13:25
Non, justement. J'aurais juste a assigner la même macro et à changer le nom du bouton du nouveau client par "bouton_propriété251" :-)

Comme ça, la macro recherchera le tableau 251 et inscrira ses informations :-)

De plus, le nom des clients sont inconnus à l'heure actuelle et (pardonne moi de le préciser que maintenant), peuvent être temporaires :-)

Je cherche donc sur la toile une propriété bouton_actuel_cliqué.name ^^
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
17 août 2010 à 14:14
Aujourd'hui, tu différencie bien les boutons les uns des autre par un titre, un numéro ou une quelconque autre méthode (en général l'utilisateur choisit le bouton en fonction de ce qu'il y a inscrit dessus, à moins que ce ne soit au hasard). Tu peux donc établir une liste des boutons.
Au lieu de choisir le bouton il suffit donc de choisir dans la liste !
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
17 août 2010 à 13:57
je ne sais pas si cela va répondre à ta demande
mais il est possible de récupérer le nom du bouton propriété name ainsi que le caption.
le problème dans ton cas sera ... le nombre de bouton.
En espérant que cela te fasse progresser.

Private Sub CommandButton1_Click()
Dim ctrl As Control

'Boucle sur la collection de contrôles
For Each ctrl In Me.Controls
    If TypeOf ctrl Is MSForms.CommandButton Then ' si c'est un bouton
        MsgBox ctrl.Name
    End If
Next ctrl

End Sub



A+
0
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
17 août 2010 à 14:28
"Invalid Use of Me Keyword"

Je pense que ça vient du fait que j'execute mon bouton sur ma feuille, et non dans un userform...

Sinon la logique est bonne, il s'agit de récupérer comme tu dis le nom du bouton propriété "name"
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 août 2010 à 14:12
Bonjour tou(te)s
Sans préjugé du bien fondé des remarques ci-dessus..
Si tu veux absolument créer autant de boutons que de client, tu peu rassembler le clic des boutons en une seulle sub... voir ce tuto
A+
0
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
17 août 2010 à 14:29
C'est exactement mon but, dommage que je n'ai pas accès a Cijoint de mon travail...

Tu pourrais m'uploader le classeur test sur un ftp ou me l'envoyer par mail si cela ne te dérange pas ?
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 août 2010 à 15:56
Met ton adresse mail dans un message perso, je te l'enverrai.
0