VBA activer un module

le62

XLDnaute Nouveau
Bonsoir.

Voila j'ai un fichier avec 2 feuilles 1er Compte 2me résultats.
j'ai créé un bouton macro pour aller chercher la feuille résultats,cela marche.

j'ai un module essais.

Sub essais()
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then Test
End Sub

j'aimerais si cela est possible que quand je clicke sur le bouton:
je vais chercher la feuille résultats
et faire la sub essais.

J'ai fait cela mais rien ne marche.

Sub CommandButton1_Click()
Sheets("resultats").Activate
Test "essais"
End Sub

Merci de me lire
 

Minick

XLDnaute Impliqué
Re : VBA activer un module

Salut,

Tres etrange ton code Essais().

Qu'appelles tu un module??

En principe il suffit de faire
Code:
Sub CommandButton1_Click()
     Sheets("resultats").Activate
     essais
End Sub

Mais il n'y a aucun risque que vbe compile ca vu la 1ere remarque
 

le62

XLDnaute Nouveau
Re : VBA activer un module

Bonsoir Minick
Merci pour la réponse.
je dédute.
j'ai sur la même feuille ce code:

Private Sub CommandButton1_Click()
Sheets("Résultats").Activate
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then Test
End Sub

Mais Private sub worksheet passe avant que je clicke sur le bouton
J'aimerai que lorsque je clicke sur le bouton j'ai Private sub workseets
Encore merci.
 

Minick

XLDnaute Impliqué
Re : VBA activer un module

J'ai du mal a comprendre, c'est pas clair du tout...

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$3" Then Test
End Sub
est un evenement de ta feuille, a chaque fois que tu fais un changement
l'evenement se declenche et si tu viens de changer la cellule D3 la procedure test est lancee.

Maintenant tu veux le faire si tu cliques sur un bouton, mais tu ne recupereras pas la derniere cellule modifiee (Target) tu pourras juste tester la cellule active.
Et quel sera l'interet de la macro evenementielle si tu declenches le lancement par un bouton.

Si tu veux lancer la macro Test uniquement quand on clique sur le bouton
et que la cellule active est la D3 tu peux faire ceci :
Code:
Private Sub CommandButton1_Click()
    If ActiveCell.Address = "$D$3" Then
        Sheets("Résultats").Activate
        Test
    End If
End Sub
et supprimer la macro evenementielle.

Mais j'ai limpression d'etre a cote de la plaque tellement c'est flou :eek:
 

Discussions similaires

Réponses
7
Affichages
410

Statistiques des forums

Discussions
312 496
Messages
2 088 974
Membres
103 995
dernier inscrit
Flodk