Peut-on paramétrer l'appel d'une macro ?

Bonjour à tous,

Je m'explique. Je dispose d'un nombre important de "zone texte" (63) et j'attribue à chacune d'entre elles une macro

Sub Individu1_Cliquer()
    zonenom = ActiveSheet.Shapes("Individu1").Name
    zonenom = Mid(zonenom, 9)
    numero = Val(zonenom)
    Usf_details.Show
End Sub

Evidemment je n'ai aucun souci en construisant 63 macro différentes (de Individu1 à Individu63).
Je me pose la question suivante : peut-on paramétrer l'appel de ces macros afin de "soulager" le code en écrivant qu'une seule macro

par Exemple

Sub Individu_K_Cliquer() 
' K variant de 1 à 63
    zonenom = ActiveSheet.Shapes("Individu" & K).Name
    zonenom = Mid(zonenom, 9)
    numero = Val(zonenom)
    Usf_details.Show
End Sub

Ma réflexion est-elle ridicule ?
Merci

Ma question était ridicule et irréfléchie, en effet je crois avoir trouvé avec le code suivant

Sub Individu_Cliquer() 
K = 4 'la valeur de K est obtenue en cliquant sur la Shape adéquate, ici la quatrième
    zonenom = ActiveSheet.Shapes("Individu" & K).Name
    zonenom = Mid(zonenom, 9)
    numero = Val(zonenom)
    Usf_details.Show
End Sub

Il me suffit ensuite d'appliquer cette macro à toutes les" zonestextes"

Qu'en pensez-vous

Bonsoir Jacky,

Ta valeur 4 pour la variable K est dans ton code Inscris directement.

Question: existe t-il des shapes autre que tes zones texte?

Bonjour X Cellus,

Non je ne manipule que des zones de texte
En ce qui concerne la valeur de K, je suis en train de chercher comment je peux la récupérer lorsque je clique sur la zone de texte 4
Elle peut être extraite du nom de la zone de texte, vu que leur nom est du type individuK
Elle peut être également extraite du texte contenu dans le zone de texte, vu que le texte est de la forme K et nom de l'individu, voir ci dessous

zonetext

A nouveau,

Il serait plus simple que tu donnes un fichier exemple simple même avec que 2 zones de texte. Éventuellement avec d'autres shapes différentes si elles sont présentes.

Et l'objectif voulu. Car en fait il suffit qu'une ligne de code pour connaître après le clic qu'elle est le nom de la shape qui a été cliqué.

Exemple: si ta zone de texte se nomme Ztexte04. Utilise en VBA Application.Caller

Sub Appel_click()
Nom = Application.caller
Numéro =Cint(Right(Nom, 2))
'Suite du code
End

Après avoir vu le fonctionnement. Tu peux réduire en une seule ligne en omettant Nom et en le remplaçant dans la ligne Numéro par application.caller

Voici un fichier très très réduit correspondant au mien et mettant en évidence mes besoins

Merci

15zonetexte.xlsm (16.64 Ko)

A nouveau,

Je te réponds de mon téléphone. Je ne pourrais pas télécharger ton fichier tout de suite.

Mais au vu de l'image présentée. La solution Application.caller est suffisante pour renseigner le numéro de l'individu puisque tu nommés ta zone de texte individuK. Mais K sur 2 caractères car il faut prendre en compte les dizaines.

Un grand merci

Ca marche à merveille, je ne connaissais pas cette instruction "Application.caller"

Tu me dis :

Mais K sur 2 caractères car il faut prendre en compte les dizaines.

je n'ai aucun souci, que ce soit un nombre à 1 chiffre ou à 2 chiffres

Bonne soirée

Rechercher des sujets similaires à "parametrer appel macro"