maval
XLDnaute Barbatruc
Bonjour,
J'ai un Formulaire pour calculer les point d'un concours de belote, qui a était réaliser par Job75 que je salut et remercie au passage.
J'aimerai lui apporter une modification. J'aimerai lui a ajouter ce code ci-dessous pour les quatre feuilles à savoir:"1erTours, 2émeTours, 3émeTours, et 4émeTours".
En sachant qu'il y a déjà se code dans le ThisWoorkBook
D'avance merci à qui pourra m'aider.
Cordialement
Maval
J'ai un Formulaire pour calculer les point d'un concours de belote, qui a était réaliser par Job75 que je salut et remercie au passage.
J'aimerai lui apporter une modification. J'aimerai lui a ajouter ce code ci-dessous pour les quatre feuilles à savoir:"1erTours, 2émeTours, 3émeTours, et 4émeTours".
Code:
Dim r As Range, v As Variant
Set r = Intersect(Target, Range("G3:J" & Rows.Count), Me.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r 'en cas d'entrées/effacements multiples
If r.Row Mod 2 Then
r(2) = IIf(r = "", "", 1944 - Val(r))
Else
v = IIf(r(0) = "", "", 1944 - Val(r(0)))
If r <> v Then r = v
End If
Next
En sachant qu'il y a déjà se code dans le ThisWoorkBook
Code:
Option Explicit
'Pour que les 4 feuilles soient renseignées et triées
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim n As Integer, w As Worksheet, F As String
If Sh.Name = "Classement" Then
'pour que les 4 feuilles soient renseignées et triées
For n = 1 To 4
For Each w In Worksheets
If Val(w.Name) = n Then
Workbook_SheetActivate w
Workbook_SheetDeactivate w
If n = 4 Then Exit For 'conserve w
End If
Next
Next
'calcul à partir de la feuille n° 4
With w
.[B3:B200,D3:E200].Copy Sh.[C3]
F = "=IF(COUNT('" & .Name & "'!RC7:RC10),SUM('" & .Name & "'!RC7:RC10),"""")"
End With
Sh.[F3:F200].FormulaR1C1 = F
Sh.[F3:F200] = Sh.[F3:F200].Value
End If
n = Val(Sh.Name) - 1
If n < 1 Then Exit Sub
If Application.Count(Sh.[G3:G200].Offset(, n)) Then Exit Sub
For Each w In Worksheets
If Val(w.Name) = n Then w.Cells.Copy Sh.[A1]: Exit For
Next
Sh.[A1].Copy Sh.[A1] 'vide le presse-papier
End Sub
'Calculer sur la feuille classement
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'---classement---
If Val(Sh.Name) = 0 Then Exit Sub
'la colonne F est utilsée pour le calcul
Sh.[F3:F200].FormulaR1C1 = "=SUM(RC7:RC10)"
Sh.[B3:J200].Sort Sh.[F3], xlDescending, Header:=xlNo
Sh.[F3:F200].ClearContents
End Sub
D'avance merci à qui pourra m'aider.
Cordialement
Maval