Bonjour,
Je souhaiterais pouvoir lancer une macro à partir d'un texte placé dans une cellule ou directement en cliquant sur la cellule (comme "un lien hypertexte")
Merci de me donner une solution
Bonjour,
Je souhaiterais pouvoir lancer une macro à partir d'un texte placé dans une cellule ou directement en cliquant sur la cellule (comme "un lien hypertexte")
Merci de me donner une solution
Bonjour,
Utilises l'evenement Worksheet_Change
Merci pour ta réponse, mais j'ai besoin d'un peu d'aide supplémentaire
Pour etre un peu plus explicite, j'aurais besoin que le fait de cliquer sur le texte cumul d'une feuille (j'en ai plus de 1000), la feuille "cumul" qui est la premiere de mon classeur s'active.
Au préalable j'avais un bouton sur la feuille mais je ne sais pas changer l'affectation du bouton en sélectionnant toute les pages de mon classeur, d'ou l'utilité de pouvoir agir sur le texte, ou la cellule afin de pouvoir tout modifier de manière assez simple.
Merci
Il faut placer ceci dans le code de ta feuille, dès que tu clic sur la cellule A1 tu vas te retrouver sur la feuille cumul
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error GoTo fin If Target.adress = Cells(1, 1).adress Then Worksheets("cumul").Select fin: End Sub
j'ai déjà ça comme code dans ma page donc je pense que je dois changer le terme target mais je ne sais pas trop comment désolé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 9 Or Target.Row > 23 Or Target.Column < 1 Or Target.Column > 10 Then Exit Sub Range("a9:j23").Interior.ColorIndex = xlNone Range("a" & Target.Row & ": j" & Target.Row).Interior.ColorIndex = 36 End Sub
Ton codeactuel sert pour une mise en forme mais étant fait par exclusion il est difficile de mettre une autre condiftion
J'ai pas testé mais ca ne devrait pas changer le fonctionnement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row >= 9 And Target.Row <= 23 And Target.Column <= 10 Then Range("a9:j23").Interior.ColorIndex = xlNone Range("a" & Target.Row & ": j" & Target.Row).Interior.ColorIndex = 36 End If End Sub
Ensuite tu ajoutes le code de diude54
En combinant les deux ça donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Worksheet_SelectionChange(ByVal Target As Range) on error goto fin 'au cas ou la feuille cumul n'existe pas on ne fait rien If 9<= Target.Row <=23 And Target.Column <= 10 Then Range("a9:j23").Interior.ColorIndex = xlNone Range("a" & Target.Row & ": j" & Target.Row).Interior.ColorIndex = 36 End If If Target.adress = Cells(1, 1).adress Then Worksheets("cumul").Select fin: End Sub
Tiens, je ne savais pas que l'on pouvais borner de cette façon
EDIT : Dans mon test, la condition est vrai meme si la Row = 2
merci de votre aide mais j'ai trouvé sur base d'un autre code que j'avais déjà utilisé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Worksheet_SelectionChange(ByVal Target As Range) page = ActiveCell.Offset(rowOffset:=0, columnOffset:=0).Text On Error GoTo a: Sheets(page).Activate If Target.Row < 9 Or Target.Row > 23 Or Target.Column < 1 Or Target.Column > 10 Then Exit Sub Range("a9:j23").Interior.ColorIndex = xlNone Range("a" & Target.Row & ": j" & Target.Row).Interior.ColorIndex = 36 Sheets(page).Activate a: End Sub
Effectivement, j'utilise cette méthode, qui n'en est pas une puisqu'elle est fausse, dans un de mes codes pour borner les colonnes mais je n'avais jamais eu d'erreurs, je vais changer cette partie.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager