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 :

case à cocher initialize [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut case à cocher initialize
    Bonjour,

    je suis novice en VBA

    J'aurais voulu affecter la valeur True à l'une des 6 CheckBox.

    Pour cela j'ai effectué les macro suivantes :
    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
    Private Sub CheckBox2_Click()
    If CheckBox2.Value = True Then
    Sheets("DONNEES").Range("B73").Value = "X"
    CheckBox3.Value = False
    Sheets("DONNEES").Range("C73").Value = ""
    CheckBox4.Value = False
    Sheets("DONNEES").Range("D73").Value = ""
    CheckBox5.Value = False
    Sheets("DONNEES").Range("E73").Value = ""
    CheckBox6.Value = False
    Sheets("DONNEES").Range("F73").Value = ""
    CheckBox7.Value = False
    Sheets("DONNEES").Range("G73").Value = ""
    End If
    End Sub
     
    Private Sub CheckBox3_Click()
    If CheckBox3.Value = True Then
    Sheets("DONNEES").Range("c73").Value = "X"
    CheckBox2.Value = False
    Sheets("DONNEES").Range("b73").Value = ""
    CheckBox4.Value = False
    Sheets("DONNEES").Range("D73").Value = ""
    CheckBox5.Value = False
    Sheets("DONNEES").Range("E73").Value = ""
    CheckBox6.Value = False
    Sheets("DONNEES").Range("F73").Value = ""
    CheckBox7.Value = False
    Sheets("DONNEES").Range("G73").Value = ""
    End If
    End Sub
    Private Sub CheckBox4_Click()
    If CheckBox4.Value = True Then
    Sheets("DONNEES").Range("d73").Value = "X"
    CheckBox2.Value = False
    Sheets("DONNEES").Range("b73").Value = ""
    CheckBox3.Value = False
    Sheets("DONNEES").Range("c73").Value = ""
    CheckBox5.Value = False
    Sheets("DONNEES").Range("E73").Value = ""
    CheckBox6.Value = False
    Sheets("DONNEES").Range("F73").Value = ""
    CheckBox7.Value = False
    Sheets("DONNEES").Range("G73").Value = ""
    End If
    End Sub
    Private Sub CheckBox5_Click()
    If CheckBox5.Value = True Then
    Sheets("DONNEES").Range("e73").Value = "X"
    CheckBox2.Value = False
    Sheets("DONNEES").Range("b73").Value = ""
    CheckBox3.Value = False
    Sheets("DONNEES").Range("c73").Value = ""
    CheckBox4.Value = False
    Sheets("DONNEES").Range("d73").Value = ""
    CheckBox6.Value = False
    Sheets("DONNEES").Range("F73").Value = ""
    CheckBox7.Value = False
    Sheets("DONNEES").Range("G73").Value = ""
    End If
    End Sub
    Private Sub CheckBox6_Click()
    If CheckBox6.Value = True Then
    Sheets("DONNEES").Range("f73").Value = "X"
    CheckBox2.Value = False
    Sheets("DONNEES").Range("b73").Value = ""
    CheckBox3.Value = False
    Sheets("DONNEES").Range("c73").Value = ""
    CheckBox4.Value = False
    Sheets("DONNEES").Range("d73").Value = ""
    CheckBox5.Value = False
    Sheets("DONNEES").Range("e73").Value = ""
    CheckBox7.Value = False
    Sheets("DONNEES").Range("G73").Value = ""
    End If
    End Sub
    Private Sub CheckBox7_Click()
    If CheckBox7.Value = True Then
    Sheets("DONNEES").Range("g73").Value = "X"
    CheckBox2.Value = False
    Sheets("DONNEES").Range("b73").Value = ""
    CheckBox3.Value = False
    Sheets("DONNEES").Range("c73").Value = ""
    CheckBox4.Value = False
    Sheets("DONNEES").Range("d73").Value = ""
    CheckBox5.Value = False
    Sheets("DONNEES").Range("e73").Value = ""
    CheckBox6.Value = False
    Sheets("DONNEES").Range("f73").Value = ""
    End If
    End Sub
    Mais j'aurais voulu garder le cochage lorsque je réouvre Excel
    et j'ai essayé cela mais une erreur de compilation & de syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
    UserForm1.CheckBox2.Value = True
    If Sheets("DONNEES").Range("b73").Value="X"
    End If
    La logique ne doit pas être la bonne. Merci de votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    La syntaxe est la suivante (pour les deux premiers checkboxes; à toi de compléter) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
    With Sheets("DONNEES")
        If .Range("b73").Value = "X" Then UserForm1.CheckBox2.Value = True
        If .Range("C73").Value = "X" Then UserForm1.CheckBox3.Value = True
        'etc.
    End With
    End If

  3. #3
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut
    Je maudis les retours à la ligne avec "If"


    Daniel merci beaucoup.

    Mais j'ai été obligé de le saisir comme cela car il me spécifie Bloc sans IF

    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
    With Sheets("DONNEES")
        If .Range("A1").Value = "X" Then
        UserForm1.CheckBox1.Value = True
        End If
        If .Range("b73").Value = "X" Then
        UserForm1.CheckBox2.Value = True
        End If
        If .Range("C73").Value = "X" Then
        UserForm1.CheckBox3.Value = True
        End If
        If .Range("D73").Value = "X" Then
        UserForm1.CheckBox4.Value = True
        End If
        If .Range("E73").Value = "X" Then
        UserForm1.CheckBox5.Value = True
        End If
        If .Range("F73").Value = "X" Then
        UserForm1.CheckBox6.Value = True
        End If
        If .Range("G73").Value = "X" Then
        UserForm1.CheckBox7.Value = True
        End If
        If .Range("H73").Value = "X" Then
        UserForm1.CheckBox8.Value = True
        End If
        If .Range("I73").Value = "X" Then
        UserForm1.CheckBox9.Value = True
        End If
        If .Range("J73").Value = "X" Then
        UserForm1.CheckBox10.Value = True
        End If
        If .Range("K73").Value = "X" Then
        UserForm1.CheckBox11.Value = True
        End If
        If .Range("L73").Value = "X" Then
        UserForm1.CheckBox12.Value = True
        End If
        If .Range("M73").Value = "X" Then
        UserForm1.CheckBox13.Value = True
        End If
    End With

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

Discussions similaires

  1. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  2. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 11h44
  3. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 10h54
  4. Activer cases à cocher
    Par schnito dans le forum MFC
    Réponses: 4
    Dernier message: 24/01/2004, 16h07
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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