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 :

Checkbox validée si valeur préçise contenu (entre autre) dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Checkbox validée si valeur préçise contenu (entre autre) dans une cellule
    Bonjour,

    je vous soumet le dernier problème auquel je dois trouver une solution pour rendre mon userform opérationel.

    J'ai créer un userform avec des checkbox et qui incrémente les cellules de toute une colonne (la colonne X).

    Étant donné que
    -chacune de mes checkbox incrémente une valeur qui lui est propre
    -plusieurs checkbox peuvent incrémenter la même cellule

    Comment puis-je faire pour qu'à l'ouverture de mon userform, je puisse obtenir que mes checkbox dont les valeurs sont déjà contenues dans la cellule visée soient cochées?

    J'ai essayer de rajouter ça dans mes codes de checkbox et dans l'initialize, mais sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("X" & ligne).Value = "2339, " Then
    CheckBox1.Value = True
    Else
    CheckBox1.Value = False
    End If
    Voilà le code complet du userform :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    Option Explicit
     
    Dim tabl() As String
    Dim ligne As Integer
     
     
    Private Sub CheckBox1_Change()
    Dim i As Integer
    Dim variable As String
     
     
    Range("X" & ligne).Clear
     
    If CheckBox1.Value = True Then
        tabl(1) = "2339, "
    Else
        tabl(1) = ""
    End If
     
    For i = 1 To 1000
        variable = variable & tabl(i)
    Next
     
    Range("X" & ligne).Value = variable
     
    UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
     
    End Sub
     
    Private Sub CheckBox2_Change()
    Dim i As Integer
    Dim variable As String
     
    Range("X" & ligne).Clear
     
    If CheckBox2.Value = True Then
        tabl(2) = "2340, "
    Else
        tabl(2) = ""
    End If
     
    For i = 1 To 1000
        variable = variable & tabl(i)
    Next
     
    Range("X" & ligne).Value = variable
     
    UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
     
    End Sub
     
    Private Sub Label1_Click()
    Label1.Caption = ligne
     
    End Sub
     
    Private Sub Label2_Click()
     
    End Sub
     
    Private Sub Label3_Click()
     
    End Sub
     
    Private Sub Label4_Click()
     
    End Sub
     
    Private Sub passeralaligne_Click()
     
    ' incrémente la ligne
    ligne = ligne + 1
     
    ' vide le tableau
    ReDim tabl(1000) As String
     
    ' vide l'ensemble des CheckBox
    Dim nouveau As Control
    For Each nouveau In Controls
       Select Case TypeName(nouveau)
       Case "CheckBox":
          nouveau.Value = False
       End Select
     
    Label1.Caption = ligne
     
    Next
     
    Label3.Caption = Range("g" & ligne).Value
     
    Label4.Caption = Range("h" & ligne).Value
     
    Label5.Caption = Range("i" & ligne).Value
     
    UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
     
    End Sub
     
    Private Sub remonterlaligne_Click()
     
     
    ' incrémente la ligne
    ligne = ligne - 1
     
    ' vide le tableau
    ReDim tabl(1000) As String
     
    ' vide l'ensemble des CheckBox
    Dim nouveau As Control
    For Each nouveau In Controls
       Select Case TypeName(nouveau)
       Case "CheckBox":
          nouveau.Value = False
       End Select
     
    Label1.Caption = ligne
     
    Next
     
    Label3.Caption = Range("g" & ligne).Value
     
    Label4.Caption = Range("h" & ligne).Value
     
    Label5.Caption = Range("i" & ligne).Value
     
    UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
     
    End Sub
     
    Private Sub sortie_Click()
     
    ' ferme le formulaire
    Unload UserForm1
     
    End Sub
     
     
     
    Private Sub UserForm_Initialize()
    Dim i As Integer
     
    ' Initialise le tableau et la première ligne
    ReDim tabl(1000) As String
    ligne = ActiveCell.Row
     
    Label1.Caption = ligne
     
    Label3.Caption = Range("g" & ligne).Value
     
    Label4.Caption = Range("h" & ligne).Value
     
    Label5.Caption = Range("i" & ligne).Value
     
    UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
     
    End Sub
    Merci d'avance !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    J'ai trouver, si ça peut servir à quelqu'un d'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("X" & ligne).Value Like "*" & "2339" & "*" Then
        CheckBox1.Value = True
    Else
        CheckBox1.Value = False
    End If

Discussions similaires

  1. [XL-97] Récupérer contenu fichier TXT dans une cellule !
    Par Garth69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2011, 22h37
  2. Remplacer une lettre par une autre dans une cellule
    Par Philippe76 dans le forum Excel
    Réponses: 1
    Dernier message: 09/01/2010, 21h26
  3. Réponses: 9
    Dernier message: 06/01/2010, 10h49
  4. Donner à une feuille la valeur contenue dans une cellule ?
    Par emilie_pons_2005 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/09/2006, 12h32
  5. Réponses: 2
    Dernier message: 17/06/2005, 13h38

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