définir utilisateur d'une case à cocher

  • Initiateur de la discussion Initiateur de la discussion BEUBZIR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

BEUBZIR

Guest
Bonjour,
je cherche à faire un formulaire partagé entre différents service, et souhaiterais faire en sorte que certaines personnes puissent utiliser des cases à cocher, mais pas d'autres.
j'ai utilisé les cases à cocher sans savoir s'il y a un autre outil pour ce faire.
Auriez vous une piste pour m'aider?

Merci d'avance.
 
Re : définir utilisateur d'une case à cocher

Bonjour,
Pour le 1er avril, si les collègues apprécient l'humour, tu peux ajouter la plaisanterie classique du bouton qui s'esquive.
à mettre dans Feuil1
VB:
Option Explicit

Dim Cb1T As Double, Cb1L As Double, n As Long
Dim Neutralise As Boolean, Prem1 As Boolean

Private Sub CheckBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'Les deux lignes de code en commentaire sont à activer
'pour que le gag ne se déclenche que le 1er avril
'  If  Month(Date) = 4 And Day(Date) = 1 Then
    If Neutralise = False Then
        If Prem1 = False Then
            Cb1T = CheckBox1.Top
            Cb1L = CheckBox1.Left
            Prem1 = True
        End If
        If CheckBox1.Top = Cb1T Then
            CheckBox1.Top = CheckBox1.Top + Int((40 * Rnd))
            CheckBox1.Left = CheckBox1.Left + Int((40 * Rnd))
        Else
            CheckBox1.Top = Cb1T
            CheckBox1.Left = Cb1L
        End If
        n = n + 1
        If n > 50 Then
            MsgBox "Poisson d'Avril !"
            RestaurePoissonAvril
            Neutralise = True
        End If
    End If
'  End If
End Sub

Public Sub RestaurePoissonAvril()
    If Prem1 = True Then
        CheckBox1.Top = Cb1T
        CheckBox1.Left = Cb1L
    End If
    '
    'mettre ici les restaurations des éventuels autres éléments "mobiles"
    '
End Sub
 
Re : définir utilisateur d'une case à cocher

Je viens de faire la mise en page définitive, et j'ai ajouté des chekbox et ça fonctionne. C'est formidable.
pour un novice comme moi, c'est vriament géniale... Mais le langage VBA est vraiment trés dificile à comprendre et à apprendre en solo.
Merci encore pour ton aide.
 
Re : définir utilisateur d'une case à cocher

Pour la blague, ça me ferais bien rire de mettre ça en place, malheuresement, le document que je suis en train de faire n'est pa fini... Bouhou.
j'essairais demain pour me faire une auto blague de 1er Avril.

Merci merci. 🙂
 
Re : définir utilisateur d'une case à cocher

Re,
Quand j'ai commencé, il n'y avait pas le soutien des forums et c'était effectivement la galère car un rien pouvait tout bloquer. Pour progresser, je te conseille
- le site de J. boigontier qui est bourré d'exemples Formation Excel VBA JB
- Le site developpez.com, plus orienté professionnels qui propose de nombreuses synthèses bien présentées
excel.developpez.com/cours
developpez.com/faq excel
developpez.com/faq vba
et bien d'autres

Bonne continuation.
 
Dernière édition:
Re : définir utilisateur d'une case à cocher

Bonjour,
je suis en phase de test avec une collègue, j'ai mis le fichier sur notre réseau, avec son nom dans ADV et le mien dans BET. quand on ouvre le fichier sur le réseau, on a la boite qui nous dit si on est ADV ou BET, mais nous pouvons actionner toutes les chekbox. Par contre, si je coche une case et que je quite en enregistrant, quand je ré-ouvre le fichier, je ne peux cocher que les cases BET.
Sais tu d'où peut venir ce défaut ?

merci.
 
Re : définir utilisateur d'une case à cocher

Bonjour,

La désactivation des CheckBox se fait avec Workbook_BeforeClose.
Il faut donc forcer une première fois un enregistrement, macros activées, pour initialiser la désactivation des CheckBox.

SI cela ne provient pas de ça, je n'ai pas l'expérience des fichiers partagés, mais il est peut-être possible que le scénario suivant se soit passé :
- votre collègue ouvre le fichier, activant les CheckBox ADV
- vous ouvrez à votre tour, activant les CheckBox DET, et vous héritez de l'activation de votre collègue
Question : toutes les checkBox sont-elles activées pour tous ou seulement pour vous ?
Dans le premier cas il faut trouver une autre logique de condamnation, compatible avec le partage du fichier.
Dans le deuxième cas, il pourrait suffire dans Sub Workbook_Open() d'ajouter les lignes pour forcer à False les autres CheckBox :
VB:
Private Sub Workbook_Open()
    Dim Toto As String, Autorise As String, AA As Range, i As Integer
    
    'Récupère le nom de l'utilisateur
    Toto = Environ("username")
    'Recherhe dans la plage des personnes autorisées
    Set AA = Feuil2.Range("A2:B10").Find(Toto, LookIn:=xlValues)
    If Not AA Is Nothing Then Autorise = Feuil2.Cells(1, AA.Column)
    
    If Autorise = Feuil2.Range("A1") Then
        MsgBox "Autorisation BET"
        'activation des checkbox concernées
        For i = 1 To 3
        Feuil1.OLEObjects("Checkbox1" & i).Enabled = True
        Feuil1.OLEObjects("Checkbox2" & i).Enabled = False
        Next i
    End If
    
    If Autorise = Feuil2.Range("B1") Then
        MsgBox "Autorisation ADV"
        'activation des checkbox concernées
        For i = 1 To 3
        Feuil1.OLEObjects("Checkbox2" & i).Enabled = True
        Feuil1.OLEObjects("Checkbox1" & i).Enabled = False
        Next i
    End If
    
    If Autorise = "" Then
        MsgBox "Pas d'autorisation"
        For i = 1 To 3
        Feuil1.OLEObjects("Checkbox1" & i).Enabled = False
        Feuil1.OLEObjects("Checkbox2" & i).Enabled = False
        Next i
        
    End If
    
End Sub
Avec toutefois une réserve : y a-t-il une incidence entre les deux utilisateurs si l'un d'eux enregistre sans fermer ?
Bons tests
A+
 
Re : définir utilisateur d'une case à cocher

Bonjour,
je viens de mettre en ligne le formulaire car il fonctionne.
Merci beaucoup pour ton énorme aide et pour le temps passé à me répondre.
A une prochaine surement sur le forum.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
412
Réponses
15
Affichages
470
Réponses
18
Affichages
1 K
P
Réponses
4
Affichages
908
Polo94100
P
Retour