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 :

Créer une barre de progression dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 127
    Points : 26
    Points
    26
    Par défaut Créer une barre de progression dans une cellule
    Bonjour à tous,

    Je voudrais créer une barre de progression dans une cellule Excel mais je ne vois pas comment faire et puis la façon dont elle doit se faire est un peu compliqué.
    Je m'explique:

    J'ai cette feuille dans lequel je veux afficher ma progression:
    Nom : Fichier 1.jpg
Affichages : 4488
Taille : 111,7 Ko

    Je voudrais afficher la progression selon la couleur de l'état mais aussi selon le nombre d'étape dans la gamme de la pièce mise en cellule B4, B5 et B6.
    Pour la gamme j'ai cette feuille :
    Nom : Fichier 2.jpg
Affichages : 3675
Taille : 274,0 Ko

    Pour ma barre de progression, il faudrait compter le nombre d'étape dans la gamme de la pièce puis ensuite en fonction des couleurs de l'état de ma feuille Suivi, mettre le pourcentage.
    Si c'est vert, c'est que l'étape est faite
    Si c'est orange, c'est que l'étape n'est pas encore faite.

    Comment peut-on faire?

    Merci de votre aide

    Julien

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    regarde le fichier joint!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Valbar(v)
    larg = v * (ActiveSheet.Range("C7").Width / 100)
        ActiveSheet.Shapes("Label1").Width = larg
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 127
    Points : 26
    Points
    26
    Par défaut
    Merci de ta réponse rdurupt

    Mais je voudrais que la barre de progression se remplisse en fonction de la couleur des état de mon suivi (premiere image) et aussi compter pour la pièce le nombre d'étape qu'il y a dans la gamme mais je ne vois pas comment faire.

    Une idée ?

    Merci d'avance de l'aide apportée

    J'ai essayer de mettre le code que tu m'as donnée et ça ne marche pas chez moi, je n'arrive pas à avoir quelque chose...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sub Valbar(v,ValMax)
    'ValMax correspond au nonbre de cellules (etape) (vert,vert,vert, orange,blanc...) et V à (vert,vert,vert)
    larg = v * (ActiveSheet.Range("C7").Width / ValMax) 'ici on prend la largeur de la cellule que on divise par 100 mais il est possible de définir en paramètre la valeur Max
        ActiveSheet.Shapes("Label1").Width = larg
    End Sub
    bien-sur si tu as plusieurs barregraphe tu peux en plus passer en paramètre le label ("Label1", et la cellule concerné "C7")

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 127
    Points : 26
    Points
    26
    Par défaut
    Je me suis mal exprimé.
    Quand je dis compter le nombre d'étape de la gamme c'est par rapport à cette feuille

    Nom : Fichier 2.jpg
Affichages : 3369
Taille : 274,0 Ko

    Par exemple, pour la pièce Empreinte éjection, il y a 18 étapes alors que pour l'insert gauche fermeture gauche il y en a que 4


    Puis je viens regarder la dernière cellule coloré de la colonne C dans cette feuille:

    Nom : Fichier 1.jpg
Affichages : 3458
Taille : 111,7 Ko

    Si la dernière cellule coloré est en orange, alors on prend le numéro de l'étape qui est en vert juste au dessus, ici on prendrai 15 que l'on diviserais par le nombre d'étape totale dans la gamme (que l'on compterais) et on aurais le pourcentage d'avancement
    Si la dernière cellule coloré est en orange avec marqué "en attente", on prend le numéro de cette étape - 1 (par exemple, si ici l'étape 17 étape en orange "en attente", on prend 16 que l'on diviserais par le nombre d'étape totale dans la gamme

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 127
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Je voudrais savoir où comment on faisait pour mettre le Label1 de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.Shapes("Label1").Width = larg
    dans la cellule qui nous intéresse ? Car je n'ai pas reussi à le trouver.

    Merci d'avance

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 127
    Points : 26
    Points
    26
    Par défaut
    J'ai réussi à mettre mon label et à faire ma barre de progression

    Je voudrais maintenant que la couleur change en fonction de certaines conditions

    J'ai ecrit ce code mais ça marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Valbar(v)
    Dim larg As Integer
    larg = v * (ActiveSheet.Range("D7").Width / 100)
        ActiveSheet.Shapes("Label1").Width = larg
    If larg < 50 Then
    ActiveSheet.Shapes("Label1").BackColor = RGB(255, 0, 0)
    ElseIf 25 < larg < 75 Then
    ActiveSheet.Shapes("Label1").BackColor = RGB(255, 102, 0)
    Else
    ActiveSheet.Shapes("Label1").BackColor = RGB(0, 102, 0)
    End If
    End Sub
    Une idée ?
    Merci d'avance pour votre aide

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    les si imbriqués sont difficilement gérable, compliqué à modifier et illisible!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Select Case larg
            Case Is < 5
            Case 26 To 74
                MsgBox ""
            Case Else
        End Select

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 127
    Points : 26
    Points
    26
    Par défaut
    Je voulais savoir si le code pour modifier la couleur du label était bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("Label1").BackColor = RGB(255, 0, 0)
    Car ca me disais qu'il y avait une erreur de propriété ou de méthode

  10. #10
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.OLEObjects("label1").Object.BackColor =RGB(255, 0, 0)

Discussions similaires

  1. Une barre de progression dans une JSP
    Par info.men dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2012, 15h14
  2. Une barre de progression dans une JSP
    Par info.men dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 20/07/2012, 09h33
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. Réponses: 11
    Dernier message: 14/01/2009, 12h03
  5. créer une liste de choix dans une barre outils
    Par rv-80 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/01/2008, 20h26

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