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 :

Action au clic CommandButton en gardant des conditions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Par défaut Action au clic CommandButton en gardant des conditions
    Bonjour,

    j'ai un petit souci sur lequel je bloque en ce moment ..

    je dois réaliser un fichier excel pour le boulot, et je bloque sur un point :

    Le futur fichier excel contiendra beaucoup de feuilles différentes, sur lequel un utilisateur devra entrer des valeurs numériques, qui doivent ensuite être envoyées vers la feuille 1
    Pour l'érgonomie, j'ai décidé de placer des indicateurs couleurs pour voir du premier coup d'oeil si toutes les valeurs ont été saisies :

    Pour l'instant je travaille sur une seule feuille, qui me servira de base pour toutes les suivantes
    Une cellule sert de "feu tricolore" en fonction des données saisies dans un tableau :

    Rouge = données manquantes / mal renseignées
    Orange = saisie des données ok, mais pas encore envoyées sur la page 1
    Vert = saisie et envoi OK

    Cette couleur se retrouve également sur les onglets de feuille en bas

    Pour réaliser cela, j'utilise une première cellule (P7) qui vérifie si le tableau est complet avec :

    A partir de cette valeur, je peux obtenir mes couleurs rouges et orange dans la cellule P12 grâce à la mise en forme conditionnelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = SI(P8="Copié"; "Copié"; SI(P7>0; "NOK"; "ENVOYER"))
    Vous aurez remarqué la cellule P8 qui affiche copié

    Associé à ça, dans mon VBA j'ai ce bout de code qui me permet de colorer les onglets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    If Range("P12") = "Copié" Then
    ActiveSheet.Tab.ColorIndex = 4
    ActiveSheet.Shapes("BoutonCopieF1").Visible = True
     
    'Si données incorrectes, onglet rouge, bouton copie masqué
    ElseIf Range("P12") = "NOK" Then
    ActiveSheet.Tab.ColorIndex = 3
    ActiveSheet.Shapes("BoutonCopieF1").Visible = 0
     
    'Si données prêtes à être envoyées, onglet orange et bouton copie visible
    ElseIf Range("P12") = "ENVOYER" Then
    ActiveSheet.Tab.ColorIndex = 46
    ActiveSheet.Shapes("BoutonCopieF1").Visible = True
    End If

    Le problème vient ensuite :
    J'utilise un commandbutton pour copier les valeurs dans la feuille 1, le clic écrit "Copié" en cellule P8, ce qui me permet d'obtenir ma cellule et mon onglet en vert, super !
    Le souci est que une fois que le terme "copié" est inscrit, même si le tableau est vidé, l'onglet reste vert, alors que j'aimerais qu'à la première cellule vide du tableau (lorsque P7 <> 0 en fait), les indicateurs retombent dans le rouge

    APrès avoir passé pas mal de temps à réfléchir (je suis débutant en VBA je précise), il me semble qu'une solution serait de mettre en P8 quelquechose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SI commandbutton cliqué ---> Value = "Copié"
    Sinon, SI P7>0; "NOK"; "ENVOYER"
    Je sais pas si je suis très clair, mais à vue de nez est-ce que quelqu'un penserait à une solution en voyant ça ?
    Parceque là j'admet que je bloque ..

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Bonjour,

    Teste la cellule de façon à modifier la couleur de l'onglet et place le code dans l'évènement "Worksheet_Change" de la feuille

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Par défaut
    Merci
    Au même moment j'ai trouvé une solution, j'ai tout mis sur papier et j'ai pris le problème d'une autre manière, en affectant toutes les couleurs en fonction de P7, comme tu me dit en fait


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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/03/2006, 22h50
  2. [SQL Server 8] fonction Max --- selon des conditions
    Par Baquardie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/01/2006, 21h06
  3. Problème de requête avec cumul des conditions sur un champ
    Par UtopieAmbiante dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2006, 10h52
  4. Problème message d'erreur et action sur clic
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2005, 12h10
  5. [Compilateur] Optimisation des conditions
    Par Pedro dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2004, 13h49

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