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 non mouvante après Affichage de colonnes masquées


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Case à cocher non mouvante après Affichage de colonnes masquées
    Bonjour

    je me permets de vous solliciter suite à une découverte que je trouve surprenante.

    Ci joint un fichier teste qui peut expliquer mon souci.

    J'ai créer une macro "ALL" qui crée des cases à cocher (liées et affectée à une macro) sur certaines colonnes.

    Chaque case à cocher masque/affiche une colonne en fonction de "VRAI/FAUX".


    Mes macros fonctionnent, les cases se créent, et l’ensemble bouge correctement.

    Le problème est que si on sauvegarde, ferme, ré-ouvre le fichier, les cases à cocher se "figent" lorsqu’on les activent/désactivent.
    J'aimerais qu'elles restent mobile comme lorsque qu'on les crée avec la macro ALL.


    Merci par avance pour votre aide.

    Cordialement,

    Julien91080 Fiche1.xlsm

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Essayez avec le code du Module2 modifié
    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
    Sub cacher()
    '///
    Dim k As Long
    k = CheckBoxRow(Application.Caller)
    '///
    If ActiveSheet.Range("h" & k) <> 0 Then Columns("U:W").EntireColumn.Hidden = False Else Columns("V:V").EntireColumn.Hidden = True
    End Sub
     
    Sub cacher2()
    '///
    Dim k As Long
    k = CheckBoxRow(Application.Caller)
    '///
    If ActiveSheet.Range("I" & k) <> 0 Then Columns("W:Y").EntireColumn.Hidden = False Else Columns("X:X").EntireColumn.Hidden = True
    End Sub
    Sub cacher3()
    '///
    Dim k As Long
    k = CheckBoxRow(Application.Caller)
    '///
    If ActiveSheet.Range("J" & k) <> 0 Then Columns("Y:AA").EntireColumn.Hidden = False Else Columns("Z:Z").EntireColumn.Hidden = True
    End Sub
    Sub cacher4()
    '///
    Dim k As Long
    k = CheckBoxRow(Application.Caller)
    '///
    If ActiveSheet.Range("K" & k) <> 0 Then Columns("AA:AC").EntireColumn.Hidden = False Else Columns("AB:AB").EntireColumn.Hidden = True
    End Sub
     
    '///
    Function CheckBoxRow(ChBoxName As String) As Long
    Dim CB As Excel.CheckBox
    Set CB = ActiveSheet.CheckBoxes(ChBoxName)
    CheckBoxRow = CB.TopLeftCell.Row
    End Function
    '///
    Fichiers attachés Fichiers attachés

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Bonjour PMO2017,

    Je ne dois pas saisir ce que je dois faire. Lorsque que je lance ton fichier, j'ai toujours le même problème

    Dois-je appliquer aux cases à cocher la fonction lors de la création?

    Merci pour ton aide

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Lorsque que je lance ton fichier, j'ai toujours le même problème
    Bonjour,

    Chez moi cela fonctionne d'une ouverture de mon fichier à l'autre (avec enregistrement au préalable).
    Les CheckBoxes cochées OU non cochées restent dans leur état et démasquent/masquent les colonnes correspondantes.

    Ou alors, je n'ai rien compris à la problématique et j'ai programmé hors sujet (???).

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Mes macros fonctionnent, lorsque l'on coche/décoche, les colonnes se masquent/s'affichent.
    Je vais prendre un exemple pour être plus parlant.

    Si je veux "définir" le plat préféré de jean jack, je doit cocher dans la colonne "Plat préféré" la case à cocher.
    Du coup la colonne V s'affiche mais la case à coché de la colonne "Plat détesté" ne bouge pas pour suivre le mouvement de la colonne. Elle se retrouve dans ma colonne V.

    Et ce qui est fort (à mon sens) est que lorsque je crée mes case grâce à la macro "ALL", je n'ai pas ce problème. C'est que quand je ferme et ré-ouvre mon fichier que j'observe ce problème.

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/05/2014, 20h28
  2. [PHP 5.2] Cases à cocher non cochées
    Par LadyArwen dans le forum Langage
    Réponses: 4
    Dernier message: 08/10/2010, 11h25
  3. affecter une valeur à une case à cocher non cochée
    Par gastoncs dans le forum Langage
    Réponses: 4
    Dernier message: 29/07/2010, 17h19
  4. Réponses: 5
    Dernier message: 16/12/2004, 22h31
  5. Réponses: 5
    Dernier message: 25/11/2004, 09h11

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