Appeler une sub private before double click

Résolu/Fermé
Emie - 25 oct. 2012 à 09:22
 Emie - 25 oct. 2012 à 10:02
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
A voir également:

3 réponses

Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
25 oct. 2012 à 09:26
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" ?
0
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
0
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!!!
0