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 :

nouvelle feuille et macro avec case à cocher qui pose problème [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut nouvelle feuille et macro avec case à cocher qui pose problème
    Bonsoir,
    J'ai un problème sur un classeur excel dans lequel j'ai une feuille contenant une macro qui implique une case à cocher.

    Si je choisis OUI dans une liste déroulante, la case à cocher s'affiche pour permettre le choix de cliquer ou non une option supplémentaire via le code suivant :
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     If Not Application.Intersect(Target, Range("M31")) Is Nothing Then
     
    If Range("m31").Value = "OUI" Then
    CheckBoxes("case à cocher 192").Visible = True
    Else
    CheckBoxes("case à cocher 192").Value = xlOff 'met à 0 la case à cocher
    CheckBoxes("case à cocher 192").Visible = False 'cache la case à cocher
    Range("p30").NumberFormat = ";;;" 'cache la cellule
    Range("q30").Interior.PatternColor = xlNone ' supprime la couleur de la cellule
    Range("q30").ClearContents 'vide la cellule car pas de repas payés le vendredi
    End If
    End If
    End Sub
    Si je choisis de cliquer sur la case à cocher alors un champs s'affiche etc..
    Cf. code ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Caseàcocher192_Cliquer()
    ' si la case a cocher est cliquée alors.. cellules apparaissent pour remplir nombre de repas
    If ActiveSheet.CheckBoxes("case à cocher 192").Value = vbOK Then
    Range("P30").NumberFormat = "general" 'format neutre de la cellule
    Range("Q30").NumberFormat = "general" 'format neutre de la cellule
    Range("Q30").Interior.Color = 65535 'couleur jaune
    Else
    Range("P30").NumberFormat = ";;;" 'cache la cellule
    Range("Q30").Interior.PatternColor = xlNone ' supprime la couleur de la cellule
    Range("Q30").ClearContents 'vide la cellule car pas de repas payés le vendredi
    End If
    J'ai dupliqué cette feuille (Déplacer ou Copier/créer une copie) et ma macro ne fonctionne plus car visiblement le nom de la case à cocher à changé (elle se nomme maintenant 'case à cocher 6').

    Comment faire pour que ma nouvelle feuille fonctionne.

    Autre point, si je duplique une nouvelle fois, c'est toujours le même nom de case à cocher..sur la nouvelle feuillet et là je comprends plus..

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Quand tu fais une recopie d'un onglet vers un autre, les contrôles de l'ne sont créer sur l'autre d'après un indexation numérique donc case 1,case 2...


    La question n'est est pa tant de savoir pourquoi elles changent de nom, mais de savoir si les macros sur case 1,2,3. Fonctionnent après copie sur un autre onglet.

  3. #3
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut
    Bonjour,
    merci pour ton retour.

    Pas de chance je n'ai qu'une seule macro liée à un case à cocher ..
    Une macro sur la case à cocher en elle même, une autre sur la propriété changement de valeur qui impacte la case à cocher.

    et
    Quand tu fais une recopie d'un onglet vers un autre, les contrôles de l'ne sont créer sur l'autre d'après un indexation numérique donc case 1,case 2...
    pourquoi mes nouveaux onglets ont toujours le même nom de case à cocher ?
    merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    chez moi (excel 2010) elles ne s'incrémentent pas suite à une copie de la feuille.
    Tu pourrais ajouter une macro, à l'activation de la feuille, qui balaye tes contrôles et les renomme correctement.
    Mais pourquoi utiliser un contrôle formulaire et non un ActiveX ?
    Il n'aura peut-être pas le même comportement étrange chez toi, mais en plus il a l'événement Click que tu utilises (et d'autres qui pourraient t'intéresser).
    eric

  5. #5
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut
    Merci pour ton post.

    je n'utilise pas les active x car j'ai tjs eu du mal à faire la différence même si je sais que sur la durée c'est a priori plus intéressant et n'ai jamais su les utiliser.
    Pour faire une macro qui change le nom à chaque fois.. pas sur que je sache faire.

    Au final, comme tous les onglets nouveaux ont le même nom de case à cocher, je me dis que je vais flinguer l'onglet d'origine et le remplacer par une copie.. mais il faut que je refasse tous les liens avec d'autres onglets déjà existant.

    Pas d'autres avis ?

  6. #6
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut
    Bonsoir,
    prise de décision du soir :

    - je modifie ma macro pour qu'elle fonctionne avec les nouveaux onglets créés dont le nom de la case à cocher a changé, mais est le même pour tous les nouveaux onglets (a priori en tout cas, ce qui me semble bizarre néanmoins mais ça m'arrange )
    - je refais une macro spécifique pour mon premier onglet pour qu'il fonctionne sans que le nom de la case à cocher vienne bloquer.

    Système D.

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

Discussions similaires

  1. [AC-2007] Requête avec sous requête qui pose problème
    Par redoran dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 13/04/2014, 16h46
  2. TreeView avec case à cocher
    Par da_latifa dans le forum Delphi
    Réponses: 9
    Dernier message: 07/10/2006, 01h01
  3. Réponses: 2
    Dernier message: 31/03/2006, 15h35
  4. Treeview avec case à cocher
    Par valoji dans le forum Composants VCL
    Réponses: 4
    Dernier message: 28/01/2006, 21h35
  5. Réponses: 5
    Dernier message: 16/12/2004, 22h31

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