Déclencher ce code avec un bouton

Bonjour

Tout est dans le titre ,quelle est la procédure pour déclencher ce code avec un bouton ActiX

Je vous remercie

Private Sub Worksheet_Activate()

For C = 2 To Range("A" & Rows.Count).End(xlUp).Row

If Range("A" & C) = Feuil1.Range("D5") Then Range("E" & C) = "A voté " & Now

Next C

End Sub

Bonjour,

Avec ceci peut-être ?

Private Sub CommandButton1_Click()
Call Worksheet_Activate
End Sub

Bonjour

Merci pour ta réponse,mais cela ne fonctionne pas

Je viens d'essayer chez moi car tu m'as mis le doute mais cela fonctionne bien.

4classeur1.xlsm (19.18 Ko)

A moins que.. j'ai mal lu et tes données en colonne A ne sont pas sur la même feuille que la valeur en D5. Et comme c'est une private sub je ne pense pas que cela soit faisable.

Mais pourquoi ce code doit se trouver dans Worksheet_Activate puisque tu veux l'affecter à un bouton ?

Bonjour,

Il faut que tu mettes le code de click dans la feuille ou se trouve ton bouton.

Private Sub nomdetonbouton_Click()
    Call tamethode()
End Sub

Ou alors tu clique droit en mode Création sur ton bouton ce controle ActiveX puis tu choisis "affecter une macro" ce qui t'amèneras directement à l'endroit ou placer le code de ton Click.

KiraWashi

Bonjour,

Cette macro n'est pas une macro classique, elle est liée à un évènement : ici l'activation de la feuille dans laquelle se trouve le code. Par conséquent, l'exécution de la macro ne peut être liée à un bouton, à moins de la mettre dans un module standard et de la renommer pour la découpler de l'évènement en question. Si ce déclenchement automatique doit rester en plus du bouton, il faut dans ce cas créer une macro dans un module standard, et l'appeler dans la macro évènementielle, comme ceci :

'Module de la feuille concernée :
Private Sub Worksheet_Activate()

Call Vote

End Sub
'Module standard :
Sub Vote()

Dim C As Long

For C = 2 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("A" & C) = Feuil1.Range("D5") Then Range("E" & C) = "A voté " & Now
Next C

End Sub

Bonjour Joco7915, Le Forum,

En retour le fichier avec un bouton pour la procédure.

5testjoco7915.xlsm (21.37 Ko)

Bonjour…

Le Feuil1. laisse penser que le bouton n’est pas dans cette feuille.

Il suffit d’écrire le code intérieur (à compléter) dans la macro de ce bouton.

Voir le fichier joint pour cette façon de faire.

4macro-bouton.xlsm (20.98 Ko)

Bonjour

@Pedro22 Merci pour ta réponse

Pas tout a fait ce dont j'ai besoin

@Ordonc pareil que Pedro22

@XCellus cela a l'air de correspondre a mes besoins ,a tester sur le fichier original

je te tiens au courant

@ XCellus il y a un bug sur cette ligne

Lig = Range("D5") + 1
Sub Bouton1_Cliquer()
Lig = Range("D5") + 1
If Sheets("VOTANTS").Range("E" & Lig) > "" Then Rep = MsgBox("Ce numéro a déja voté, faites OK pour annuler", vbOKOnly, "ATTENTION"): Exit Sub
Application.ScreenUpdating = False
Sheets("VOTANTS").Activate
For C = 2 To Range("B" & Rows.Count).End(xlUp).Row
If Range("B" & C) = Feuil1.Range("D5") Then Range("E" & C) = "Voté " & Now
Next C
Sheets("ELECTION").Activate
Application.ScreenUpdating = True
End Sub

@ XCellus

J'ai trouvé il fallait supprimer le +1

Merci encore pour ton aide

Re

Si le bouton n’est pas dans la feuille réceptrice (ici Feuil1 où on a la valeur recherchée en D5)

Dim R As Range
Private Sub CV_Click()
    Feuil2.Select
    For Each R In [Lv]
        If R = Feuil1.[D5] And Feuil1.[D5] <> "" Then R(1, 5) = "A voté " & Now
    Next
End Sub

Nota : nommer, Lv, la liste des noms permet de simplifier le code

Rechercher des sujets similaires à "declencher code bouton"