Bonjour à tous, ça fait diablement plaisir de revenir ici et avec une question un peu sérieuse
Alors, j'ai le code ci-dessous qui me fait un classement sur une zone A10:EE300 si je double clique sur une cellule de la ligne 10 :
C'est très pratique et je remercie encore Robert qui m'a donné ou avait écrit l'essentiel.
Le truc c'est que j'ai 12 pages dans ce cas et je n'aime coller 12 fois le même code, je préfèrerais qu'une fonction placée dans un module soit appelée dans chaque feuille.
Seulement je maitrise mal les fonctions et je ne sais pas du tout comment lui transmettre le Byval target ni ne sais quoi faire du Cancel qui sont déjà dans le code de la page.
Bref à l'aide, je patauge dans mon ignorance.
Pour Byval je n'ai pas compris ce que c'était en regardant rapidement l'aide, sa valeur cela semble être le contenu de la cellule... mais il n'y a pas plantage si je double clique sur une cellule qui n'est pas dans la plage mais qui a un contenu qui est dans la plage... Alors c'est quoi cette bête ?
Merci pour les éclaircissements et l'éventuelle solution.
Alors, j'ai le code ci-dessous qui me fait un classement sur une zone A10:EE300 si je double clique sur une cellule de la ligne 10 :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean)
'On remercie Robert pour l'info.
Dim Laplage As Range
Dim LaClef As String
LaClef = ActiveCell.Address ' variable de la clef de classement
Set Laplage = Range("A10:EE10") ' la zone où sont les clefs possibles : la ligne 10 jusqu'à EE
If Application.Intersect(target, Laplage) Is Nothing Then Exit Sub 'si le doubleclic se fait ailleurs que dans "A10:EE10", sort de la procédure
cancel = True 'empêche le mode édition lié au double-clic
Range("A11:EE300").Select
Selection.Sort Key1:=Range(LaClef), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Range(LaClef).Select
End Sub
C'est très pratique et je remercie encore Robert qui m'a donné ou avait écrit l'essentiel.
Le truc c'est que j'ai 12 pages dans ce cas et je n'aime coller 12 fois le même code, je préfèrerais qu'une fonction placée dans un module soit appelée dans chaque feuille.
Seulement je maitrise mal les fonctions et je ne sais pas du tout comment lui transmettre le Byval target ni ne sais quoi faire du Cancel qui sont déjà dans le code de la page.
Bref à l'aide, je patauge dans mon ignorance.
Pour Byval je n'ai pas compris ce que c'était en regardant rapidement l'aide, sa valeur cela semble être le contenu de la cellule... mais il n'y a pas plantage si je double clique sur une cellule qui n'est pas dans la plage mais qui a un contenu qui est dans la plage... Alors c'est quoi cette bête ?
Merci pour les éclaircissements et l'éventuelle solution.