IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème déclenchement Evènement sur CommandButton


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut Problème déclenchement Evènement sur CommandButton
    Bonjour,

    J'ai un Userform contenant 50 CommandButton. Les CommandButton prennent une couleur suivant l'évènement : j'ai un planning, 50 bureaux, j'ai fait un Userform où j'ai mis 50 commandbutton représentant les bureaux, si les bureaux sont occupés, ils apparaissent en rouge, s'ils sont disponibles, ils sont en vert.

    J'ai donc le code me permettant de boucler sur les bureaux et de les mettre en couleur suivant l'état (dispo ou non) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub UserForm_Initialize()
    Dim MaPlage As Range
    Dim DerligR2 As Integer
    Dim ligne As Long
     
     
     
    If Modification Then
            'Déterminer la première ligne libre du tableau
            ligne = 10 'ActiveCell.Row
     
            'Créer la nouvelle ligne d'enregistrement
            If Cells(ligne, 6) = "" Then
     
     
         With Sheets("Planning")
        DerligR2 = .Range("F" & .Rows.Count).End(xlUp).Row
        Set MaPlage = .Range(.Cells(1, 6), .Cells(DerligR2, 6))
        End With
     
       Dim ctrl As Control
     
       For Each ctrl In Me.Controls
     
                With MaPlage
                    Set c = .Find(ctrl.Caption, LookIn:=xlValues, lookat:=xlWhole)
     
                    If c Is Nothing Then
                        ctrl.BackColor = &HFF00&
     
                        Else
                        ctrl.BackColor = &HFF&
                    End If
                End With
        Next
     
            End If
        End If
    Jusque là, tout fonctionne, mais je souhaiterais cliquer sur le commandbutton d'un bureau disponible (=donc identifié en vert), afin de l'affecter, j'ai donc mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Sub CommandButton1_Click()
    Dim MaPlage As Range
    Dim DerligR2 As Integer
     
     
     
         With Sheets("Planning")
        DerligR2 = .Range("F" & .Rows.Count).End(xlUp).Row
        Set MaPlage = .Range(.Cells(1, 6), .Cells(DerligR2, 6))
        End With
     
     
                With MaPlage
                    Set c = .Find(CommandButton1.Caption, LookIn:=xlValues, lookat:=xlWhole)
     
                    If c Is Nothing Then
                        CommandButton1.BackColor = &HFF00&
     
                        Else
                        CommandButton1.BackColor = &HFF&
                    End If
                End With
     
     
    End Sub
    Mais cela ne fonctionne pas et je comprends pas pourquoi….
    J'ai appelé l'Userform par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Sub AfficheUSF()
    Modification = False
    UserForm1.Show
    End Sub
    et dans la feuille "Planning", j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
     
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Cells(ActiveCell.Row, 6) = "" Then
            Cancel = True
            'Modification d'une ligne
            Modification = True
     
          UserForm1.Show
     
        End If
     
     
    End Sub
    Mais idem, lorsque je clique sur une cellule de la colonne 6, cela ne déclenche pas l'USERFORM……

    Dans la colonne 6, se trouvent les bureaux déjà utilisés…

    Merci de m'indiquer ce qui ne va pas….et ou de m'expliquer pourquoi cela ne fonctionne pas…..


    AU CAS OU, je mets le fichier en PJ….avec juste l'évènement Userform1 : lors de l'ouverture, identification des bureaux dispo en vert et en rouge, les bureaux déjà pris…..

    merci pour votre aide,

    A+

    Eric
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème Evénement sur gotfocus et lostfocus
    Par kruger54 dans le forum VB.NET
    Réponses: 0
    Dernier message: 18/05/2015, 05h54
  2. Réponses: 4
    Dernier message: 16/07/2013, 19h40
  3. Problème d'Evènement sur contrôle personnalisé
    Par Ishizaki dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/08/2008, 11h16
  4. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo