XL 2010 macro

GREG MDS

XLDnaute Nouveau
Bonjour

je reviens vers les ingénieux de xl ;)
je suis moniteur de sport pénitentiaire, et je cherche à élaborer un fichier Excel pour nos tournoi individuels .

- dans ma page "tirage au sort" j'aimerai que chacun des participants, de chaque bâtiment; lui soit affecté une case à cocher pour valider sa présence au tournoi.

-de plus j' aimerai également une macro pour valider chaque bâtiment (reliée a un bouton ) ex bouton sur E1
chaque bâtiment aurait sa macro et son bouton qui par la suite m'ouvrira "une page poule" selon le bâtiment validé.

MERCI D'AVANCE
Grégory
 

Pièces jointes

  • TOURNOI INDIVIDUEL (V2) (1) (1).xlsm
    91 KB · Affichages: 2

job75

XLDnaute Barbatruc
Bonjour GREG MDS, le forum,

Les cases à cocher (CheckBoxes) ne sont pas une bonne idée, il vaut mieux mettre un "x" pour les présences.

Par ailleurs un seul bouton suffit, il est déplacé en 1ère ligne sélectionnée de chaque tableau.

Voyez le fichier joint et cette macro évènementielle dans le code de la feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim coul%, tablo As Range, lig&, col%
coul = Target(1).Interior.ColorIndex
If coul = xlNone Or coul = 2 Then Exit Sub
For col = Target.Column To 1 Step -1
    If col = 1 Then Exit For
    If Cells(Target.Row, col).Interior.ColorIndex <> coul Then col = col + 1: Exit For
Next
Set tablo = Cells(Target.Row, col).CurrentRegion
lig = tablo.Row '1ère ligne
col = tablo(tablo.Columns.Count).Column 'dernière colonne
If Target.Row = lig Then
    With Shapes("Bouton 2") 'nom à adapter
        .Left = Cells(lig, col).Left + (Cells(lig, col).Width - .Width) / 2
        .Top = Cells(lig, col).Top + (Cells(lig, col).Height - .Height) / 2
    End With
ElseIf Target.Column = col And Target.Row > lig + 1 Then
    If tablo(Target.Row - tablo.Row + 1, 2) = "" Then Exit Sub 'si aucun nom
    Target(1) = IIf(Target(1) = "", "x", "")
    tablo(1).Select
End If
End Sub
A+
 

Pièces jointes

  • TOURNOI INDIVIDUEL (1).xlsm
    93.7 KB · Affichages: 4
Haut Bas