Bouton de commande dynamique

Bonsoir le forum

Dans ma recherche d'une solution dynamique je suis arrivé à penser qu'une commande dynamique resoudra mon besoin.

En effet, je dois valider les données de plusieurs utilisateurs.

Le nom de ses utilisateurs se trouve dans une plage (B3:B20).

Ma solution consiste à faire en sorte que le nom du bouton de commande change au fur et à mesure en prenant le nom de chaque utilisateur. Voici ce que j'ai essayé mais rien se s'affiche sur le bouton de commande:

Dim t as long

With sheets("parametre")

for t = 3 to 20

Il .cells(t, 2

14caption-name.xlsm (18.84 Ko)

).value <>"0" then

Cmde.caption = .cells(t, 2).value

End if

Next

End with

Merci sachant que je serai preneur d'une autre solution plus formidable.

Bonjour Zombe.

Pourquoi noter un code différent de celui fournit dans le fichier ?

Dans ton fichier, tu ne fais pas appel à la bonne colonne, tu demandes la 65ème.

Private Sub Cmde_Click()
Dim i As Long
With Sheets("PARAMETRE")
For i = 3 To 10
Cmde.Caption = .Cells(i, "B").Value
Next
End With
End Sub

Bonjour homo (benoit)

Merci pour votre retour.

Je m'excuse pour erreur qui s'est glissée dans mon code.

Malgré la correction apportée ca ne fonctionne pas.

Rien se s'affiche sur le bouton de commande.

Merci

Bonjour,

A tester, avec un compteur sur la cellule A1

9caption-name.xlsm (20.80 Ko)

Bonjour M12

Merci pour votre solution qui satisfait déjà mon besoin.

J'aimerai bien comprendre le code pour pouvoir l'adapter à ma situation..En un mot comprendre sa logique.

Aussi est ce possible de faire en sorte que la valeur en a1 soit dynamique?

Moi j'ai pensé à mettre 1formule en a1 du genre nb.si(b3:b20:"<>").

Merci de bien m'expliquer votre code.

Re,

Une correction avec la prise en charge de la dernière cellule de la colonne B rempli

8caption-name.xlsm (21.83 Ko)

Tu peut aussi mettre le compteur de A1 dans une cellule sous le bouton.

Il faudra juste modifier dans le code la réf de la Cells(1,1) par le bon emplacement

Bonsoir M12 et le forum

Je viens de tester et ça fonctionne bien .

J'ai essayé de l'adapter en ajoutant ce code ci dessous après ton dernier end if mais il tourne en rond.

Le probleme se trouve sur la condition:

if msgbox (...)= vbyes then

quand j'execute la macro il faut que je clique plusieurs fois sur le "OUI" ou le "NON" pour que ça s'arrête.

With Sheets("CUMUL_TBC_" & Cmde.Caption)

    For t = 7 To 17

If MsgBox("Etes-vous sûr de vouloir reporter les données.Voulez-vous continuer?", vbYesNo, "Demande de confirmation") = vbYes Then

Sheets("CUMUL_TBC_" & Cmde.Caption).Cells(t, 2) = Sheets("CUMUL_TBC_" & Cmde.Caption).Cells(t, 2) + Sheets(Cmde.Caption).Cells(t + 10, 13)

End If

Next

End With

Merci

Re,

Ne voyant pas trop la suite de la démarche

tu peut toujours mettre un

exit for entre le end if et le next

Je viens de le faire mais pas concluant en totalité.

Voici la suite que je souhaite faire a partir du code initial que vous avez rédigé.

En effet je dois additionner les données de 2 plages de feuille différentes dont la 1ere feuille porte le nom du bouton cmde.caption. L'autre feuille est "cumul_tbc"&cmde.caption(feuille de destination).

La macro fonctionne bien mais c'est lorsque je cherche a la fusionner dans votre code initial que ca ne marche pas. J'ai voulu bricoler mais..

Merci

Rechercher des sujets similaires à "bouton commande dynamique"