XL 2010 insérer des formules dans un tableau

65debutant

XLDnaute Nouveau
Bonjour
J'essaye de créer avec mon peu de connaissances, une application pour gérer des adhérents d'un club d'anciens. (dont le fais partie).
J'ai quelques soucis que vous les experts m'aideront certainement à résoudre et surtout à comprendre.
1) Comment obtenir le format "téléphone" dans les colonnes K et L de l'onglet "adhérents"
2) la formule qui se trouve dans la cellule Q2 ne se reporte pas automatiquement dans Q3, Q4, etc lorsqu'on saisit un nouvel adhérent.
3) lorsque je saisit un nouvel adhérent, la police de A14 et A17 de l'onglet "menu1" change ????
Merci d'avance de votre aide et surtout comprendre pourquoi
 

Pièces jointes

  • gestionclub v0.xlsm
    149.7 KB · Affichages: 9

fanch55

XLDnaute Barbatruc
Proposition :
Code source à mettre dans la feuille Adhérent :
VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim First As Boolean

    If Not Application.Intersect(Target, [Tadhere[Nom adhérent]]) Is Nothing Then
        If IsToolBar("ClicDroit") Then CommandBars("ClicDroit").Delete
        With CommandBars.Add(Name:="ClicDroit", Position:=msoBarPopup, Temporary:=True)
            With .Controls.Add(msoControlButton, 1, , , True)
                .Caption = "Désactiver pour cause de :"
                .FaceId = 326
            End With
            First = True
            For Each Raison In [Tableau1[Raisons]]
                If Not IsEmpty(Raison) Then
                    With .Controls.Add(msoControlButton, 1, , , True)
                        .Caption = Raison
                        .OnAction = "'" & Me.CodeName & ".Désactiver_Membre " & _
                                    """" & Target.Address & """,""" & Raison & """'"
                        If First Then
                            First = False
                            .BeginGroup = True
                        End If
                   End With
                End If
            Next
            .ShowPopup
            .Delete
        End With
        Cancel = True
    End If
    
End Sub
Sub Désactiver_Membre(Target As String, Raison As String)
Dim Décalage As Long

    Décalage = [Tadhere[Actif]].Column - [Tadhere[Nom adhérent]].Column
    With Me.Range(Target).Offset(0, Décalage)
'        .Activate
        .Value = "N"
    End With
    
    Décalage = [Tadhere[Raison]].Column - [Tadhere[Nom adhérent]].Column
    With Me.Range(Target).Offset(0, Décalage)
        .Activate
        .Value = Raison
    End With
    
End Sub
Function IsToolBar(Barre As String) As Boolean
    IsToolBar = False
    For Each Elem In Application.CommandBars
       If Elem.Name = Barre Then
          IsToolBar = True
          Exit For
       End If
    Next
End Function

Testes le en faisant un clic droit sur le nom d'un adhérent ...
C'est une piste ...
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87