Faire un appel à Worksheet_SelectionChange cellule active
Fermé
Raph04
Messages postés
158
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
17 mai 2022
-
27 janv. 2015 à 09:38
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 27 janv. 2015 à 14:09
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 27 janv. 2015 à 14:09
7 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
27 janv. 2015 à 09:55
27 janv. 2015 à 09:55
Bonjour,
on notera que j'ai mis mon sub en Public pour ça
Aucune utilité car ta macro est une macro événementielle qui ne peut être exécutée que sur événement.
Pour l'activer, il te suffit de modifier la cellule concernée ou de le simuler, par exemple avec
on notera que j'ai mis mon sub en Public pour ça
Aucune utilité car ta macro est une macro événementielle qui ne peut être exécutée que sur événement.
Pour l'activer, il te suffit de modifier la cellule concernée ou de le simuler, par exemple avec
ActiveCell.Value = ActiveCell.Value
Raph04
Messages postés
158
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
17 mai 2022
24
Modifié par Raph04 le 27/01/2015 à 10:24
Modifié par Raph04 le 27/01/2015 à 10:24
Ha bah oui.
C'est une bonne idée ça.
Par contre ajouter la ligne :
N'a pas permis de déclencher le changement de cellule.
Alors j'ai tout bonnement mis ça :
Et ça a fait l'affaire.
Merci !!
Mais juste pour info, ça pourra me servir plus tard car j'ai pas réussi à trouver la réponse sur internet :
Est-il possible de faire référence à la cellule active en pointant sur un objet de type Range ?
C'est une bonne idée ça.
Par contre ajouter la ligne :
ActiveCell.Value = ActiveCell.Value
N'a pas permis de déclencher le changement de cellule.
Alors j'ai tout bonnement mis ça :
Range("A1").Select
Et ça a fait l'affaire.
Merci !!
Mais juste pour info, ça pourra me servir plus tard car j'ai pas réussi à trouver la réponse sur internet :
Est-il possible de faire référence à la cellule active en pointant sur un objet de type Range ?
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
27 janv. 2015 à 11:17
27 janv. 2015 à 11:17
Bonjour,
essaie ceci:
essaie ceci:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then MsgBox "Vous avez cliquez sur la cellule A1" End If End Sub
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
Modifié par eriiic le 27/01/2015 à 11:37
Modifié par eriiic le 27/01/2015 à 11:37
Bonjour,
ou tu ressors ton code dans une procésure séparée :
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
ou tu ressors ton code dans une procésure séparée :
Private Sub Worksheet_SelectionChange(ByVal target As Range) monCode target End Sub Sub proc1() monCode Range("A1:B3") ' exemple 1 monCode ActiveCell ' exemple 2 End Sub Sub monCode(plage As Range) MsgBox plage.Address End Sub
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Raph04
Messages postés
158
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
17 mai 2022
24
Modifié par Raph04 le 27/01/2015 à 13:35
Modifié par Raph04 le 27/01/2015 à 13:35
Nan mais là ça marche avec juste le déplacement en cellule A1.
Maintenant ce que je me demande c'est comment faire référence au range de l'activecell au cas où il me faut le mettre en argument.
Est ce qu'on est plus sur du :
Mais tout ça me générait des erreurs.
Maintenant ce que je me demande c'est comment faire référence au range de l'activecell au cas où il me faut le mettre en argument.
Est ce qu'on est plus sur du :
ActiveCell.Rangeou
Range(ActiveCell)ou encore
Range(ActiveCell.address)
Mais tout ça me générait des erreurs.
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
27 janv. 2015 à 14:01
27 janv. 2015 à 14:01
Peut-être comme ceci:
Private Sub Worksheet_SelectionChange(ByVal target As Range) If ActiveCell = "20" Then MsgBox ActiveCell.Address End If End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
Modifié par pijaku le 27/01/2015 à 14:10
Modifié par pijaku le 27/01/2015 à 14:10
Salut,
Wahou que de beau monde par ici... Salutations à tous!
J'y vais donc de ma petite contribution :
On enlève le "Private" de la procédure événementielle :
Et dans un module, l'appel :
Cool non ???
https://forums.commentcamarche.net/forum/affich-37622021-vba-appel-d-une-macro-dans-une-autre-macro
🎼 Cordialement,
Franck 🎶
Wahou que de beau monde par ici... Salutations à tous!
J'y vais donc de ma petite contribution :
On enlève le "Private" de la procédure événementielle :
Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox Target.Address End Sub
Et dans un module, l'appel :
Sub MaMacro() Dim monRange As Range 'monRange = paramètre Target de l'événement Set monRange = Sheets("Feuil1").Range("B23") 'Worksheets("Feuil1") indique l'objet relatif à l'événement Worksheet_SelectionChange CallByName Worksheets("Feuil1"), "Worksheet_SelectionChange", VbMethod, monRange End Sub
Cool non ???
https://forums.commentcamarche.net/forum/affich-37622021-vba-appel-d-une-macro-dans-une-autre-macro
🎼 Cordialement,
Franck 🎶