Appeler une sub private before double click

Résolu/Fermé
-
 Emie -
Bonjour,

j'ai programme une sub pour dicter la reaction face a un double clic (mise a jour de donnees correspondant au target), cependant j'aimerai maintenant appeler cette fonction dans une boucle sans avoir a double cliquer sur toute ma plage et surtout pour faire des mise a jour de temps a autre des donnees

voici le programme :

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)

' the 2 if-loop are made to define the area where the double click will lead in the action plan
finchap = Range("A10").End(xlDown).Row
If target.Row > 3 And target.Row < finchap + 1 And target.Column = 1 Then

chapter = Left(target, 4)
fourth = Right(chapter, 1)
Sheets(2).Activate
ActiveSheet.Range("A1").Select

'remove all the filters (Initialization)
If Sheets(2).FilterMode = True Then Sheets(2).ShowAllData


'this if-loop is designed to determin if we select a chapter or a question
If InStr(1, chapter, " -") = 0 Then

'We are in the loop so a question is selected
'we want to sort only the actions linked to the selected question

Select Case fourth

'for chapter 10 to 14
Case IsNumeric(fourth)
Selection.AutoFilter Field:=2, Criteria1:=Left(target, 4)

'chapter 1 to 9
Case Is = " "
Selection.AutoFilter Field:=2, Criteria1:=Left(target, 3)

End Select

Else:

Selection.AutoFilter Field:=1, Criteria1:=Left(chapter, 2)

End If



End If
'action amount
Cells(target.Row, 6) = (Application.WorksheetFunction.CountA(Sheets(2).Columns(12).SpecialCells(xlVisible))) - 1
Cells(target.Row, 7) = (Application.WorksheetFunction.CountA(Sheets(2).Columns(12).SpecialCells(xlVisible))) - (Application.WorksheetFunction.CountA(Sheets(2).Columns(13).SpecialCells(xlVisible)))
Cells(target.Row, 8) = (Application.WorksheetFunction.CountA(Sheets(2).Columns(14).SpecialCells(xlVisible))) - 1


End Sub

Merci de votre aide

3 réponses

Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
96
Hum, je comprends pas trop le principe,

Dis moi ce que tu veux faire, sans parler des doubleclick et tout

pourquoi double cliquer pour mettre à jour ?

Pourquoi ne peux faire ça sur un "change" ?
Arf, j'ai appuye sur poser une question au lieu de valider!! je recommence...

Bon en fait ma fonction me permet de :
lorsaue je double clique sur une cellule de la page 1, cela en tire des infos qui me permettent de trier mes donnees de la pqge 2, de cette page 2 je peux ainsi tirer des donnees des cellules filtrees, que je renvoie en page 1

ex : je selectionne le groupe 1 dans ma page 1 cela me renvoie a toutes les donnes du groupe 1 dans la page 2 et je peux ainsi ne traiter que les infos du groupe 1 et les synthetiser dans la page 1

mais pour mettre a jour freauemment, je souhaite rajouter une option qui lqnce le procede de synthese des donnees automatiquement pour toute la plage de la page 1 et l'interet de garder le principe des donnees filtrees est que ainsi le programme est moins lourd a compiler

mais bon je ne sais pas si cela sera possible
bon finalement je me suis largement simplifie la vie, j ai copier coller le programme dans une autre sub avec la boucle, beaucoup plus simple!!!