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 :

Recuperer trier et les afficher dans une autre feuille.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut Recuperer trier et les afficher dans une autre feuille.
    Bonjour,

    Je vous explique ma situation.... Voila depuis quelque jours je bute, etant en stage j'ai repris une application créé en VBA excel. Le problème est que je suis vraiment débutant.
    Mon tuteur veux un résultat comme suit:
    -Récuperer des valeur s et calculer le nombre total afin de les afficher dans une autre feuille. (3 couleurs possible, il faut pouvoir compter le nombre de Rouge, Vert, Orange)
    -Reporter les valeurs en fonction de leur couleur et les afficher en automatique dans un tableau relier au graph.(J'ai déjà l egraph les données les feuilles)Mon gros problème est la conception de la macro je n'est pas compris il m'a parlé de l'enregistrer en interactif et de créer les boucles necessaire. Je n'y comprends rien!!!!!!!!!


    Je peux vous transmettre le fichier.

    -Extraire le nombre de couleur de chaque projet de l'onglet chrono colonne Performance UEC. Puis les mettre en automatique dans l'onglet Performance UEC en fonction de la date.

    Exemple: lorsque je filtre les projet Octobre il ya au total 2 projet en vert il faut que je puisse ajouter ce nombre au tableau prévu dans lautre onglet de facon automatique.

    Je vous remercie d'avance et je m'excuse pour la non explicité de me sinfos mais je suis perdu.




    Cordialement

  2. #2
    Membre émérite Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Par défaut
    Bonjour,

    Comme pas mal de personne ici, je n'ouvre pas les pièces jointes. Si tu as du code dedans, pourrait tu le poster entre balise # ([CODE][ /CODE]) ?
    Sinon, je pense que tu peux expliquer ton problème en postant quelques images de ce que tu as au départ, ainsi que de la situation final ?

    Et enfin, je ne suis pas certain d'avoir saisi tout ton problème, mais je pense que beaucoup de tes problématiques peuvent être résolu en utilisant des fonctions Excel, et des mise en forme conditionnel.
    Dans la plupart des cas, il faut privilégier une solution venant d'Excel plutôt que d'utiliser des macros.

    Sinon, pour débuter, tu peux utiliser l'enregistreur de macro :
    Nom : Capture.PNG
Affichages : 255
Taille : 2,3 Ko

    Ensuite, tu appuie sur Alt + f11, et tu regarde le code obtenu dans "module1" ou je ne sais quel module. L'enregistreur de maco va enregistrer chacune de tes actions sur le classeur, et les reporté par macro, afin d'automatiser des tâches simples. ça te donnera un bon aperçu du code qu'il faut que tu fasse.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 20
    Par défaut
    Bonjour,

    je vais t'aider à traiter la première partie de ta demande à savoir, compter les couleurs (Vertes/Oranges/Rouges).

    Je tiens à préciser que je viens moi aussi d'arriver sur le Forum, ma solution n'est peut-être pas optimisée.

    Alors, ton objectif est de créer une macro afin de compter les couleurs.

    Pour cela, il faut que tu ailles dans le code source de ton classeur excel en appuyant simultanément sur les touches "alt" et "F11".

    Une fois dedans, il faut que tu insert dans un module (existant ou dans un nouveau) les lignes de codes suivant :

    !!!! Attention a bien changer le nom de l'onglet dans lequel va apparaître les compteurs de couleur !!!!


    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
    Public Function Fonction_Qui_Compte_Les_Couleurs()
     
    Dim compteur As Integer
    Dim derlign As Integer
     
    derlign = Worksheets("chrono").Range("A10000").End(xlUp).Row ' on va chercher la derniere ligne utilisée de la colonne A
     
        For i = 9 To derlign 'on va parcourir du début de la colonne jusqu'à la dernière ligne identifiée
     
            'Si la valeur de ma colonne est "V" (identifiée en Vert) alors j'ajoute +1 à mon compteur
            If Worksheets("chrono").Range("F" & i).Value = "V" Then compteurVert = compteurVert + 1
            'idem pour les Oranges
            If Worksheets("chrono").Range("F" & i).Value = "O" Then compteurOrange = compteurOrange + 1
            'idem pour les verts
            If Worksheets("chrono").Range("F" & i).Value = "R" Then compteurRouge = compteurRouge + 1
     
        Next i
     
    'J'affiche les résultat de mes compteurs dans une cellule
    ' Ne pas oublier de changer le nom de l'onglet "Feuille_Ou_Je_Veux_Afficher_Mon_Résultat" en ce que tu veux !
     
    Worksheets("Feuille_Ou_Je_Veux_Afficher_Mon_Résultat").Range("A1").Value = compteurVert
    Worksheets("Feuille_Ou_Je_Veux_Afficher_Mon_Résultat").Range("A2").Value = compteurOrange
    Worksheets("Feuille_Ou_Je_Veux_Afficher_Mon_Résultat").Range("A3").Value = compteurRouge
     
    End Function

    La fonction va effectuer le traitement, mais pour que cela se fasse automatiquement, tu peux choisir de le faire a chaque ouverture de l'onglet par exemple.

    pour cela sert toi du volet a gauche pour trouver ta feuille "chrono" (feuil18)

    une nouvelle page avec du code va s'ouvrir, il faut que tu y ajoute le code suivant :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Activate()
     Call Fonction_Qui_Compte_Les_Couleurs
    End Sub

    Grace à ça, tu va appeler la fonction qui va compter les couleurs de ta colonne (V/O/R) et en afficher le nombre dans l'onglet que tu aura indiqué.

    J'espère que cela t'aura aidé un minimum Bon courage pour la suite !

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut
    Merci à tous de prendre le temps de m'aider, Nico je comprend ce que tu dis mais après pour avoir le résultat que je veux ce n'est pas gagné.
    Hao je te remerçie aussi, je test tout de suite cela. Mon tuteur ma précisé que par enregistrement de macro c'est plus simple....Hors je trouve pas, je fasi de la programmation JAVA en Formation mais j'ai un blocage en VBA excel. Vous n'ouvrez pas les fichier joint par peur concernant les virus? L'application etant existante et conséquente je ne sais meme pas par ou commencer à vous donner pour étudier le problème (L'application à était créé par un autre stagiaire qui n'a pas commenté celle-ci, je me retrouve donc noyé). DOnc si je comprends bien Hao tu m'a donnée le moyen de compter les couleurs et de les insérer dans une cellule?


    Désolé pour les fautes et je vous remerçie encore par avance!


    Cordialement

  5. #5
    Membre émérite Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Par défaut
    Citation Envoyé par Mehdi8793 Voir le message
    [...]
    Vous n'ouvrez pas les fichier joint par peur concernant les virus?
    [...]
    Entre autres. Aussi parce que ce n'est pas vraiment la philosophie du forum, si tu poste ton code, n'importe qui peut passer par là, jeter un coup d'oeil, et récupérer ce qui l'intéresse. Ce n'est pas vraiment possible avec un classeur. Et enfin parceque je suis persuader que tu peux tout expliquer à l'aide d'image et de bout de code. Si tu n'y arrive pas, selon moi, c'est que tu n'as pas réussi à dégrossir ton problème.

    Pour compter les cases de couleurs, tu va effectivement avoir besoin du VBA. Ce qu'il faut savoir, c'est que chacune des couleurs est représenté soit par un nombre Hexadécimal, soit par une fonction RGB(XXX, XXX, XXX) (avec à la place des XXX la valeurs en byte de la saturation du rouge, vert et bleu).

    Tu peux donc utiliser l'enregistreur de macro pour obtenir le code de couleur correspondant. Pour apprendre à utiliser l'enregistreur, tu peux voir >> ici <<

    Ensuite, je te suggère de "colorier" une case en vert, et de regarder ensuite ce que l'enregistreur de macro dit à propos de cette fameuse couleur verte. Pour finir, une simple fonction "If ... Then" te permet de créer un compteur. Tu as de parfait exemple avec le code de Hao76.

    Un autre cas intéressant, avec des bouts de codes qui vont t'intéresser, je pense !
    >> ici, il y a un lien <<

    En espérant que tu arrive à bout de tes problèmes

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut
    Merci pour cette macro qui fonctionne!!!! Nico je te remercie j'ai regardé et c'est vrais que c'est utile!

    Je vous mets des imp ecran de mes 2 onglets, (Sachant que les valeurs sont rentrées par des formules et dautre en dure.

    Le resultat voulu est que en fonction de chaque projet ( date par exemple je veux classer les couleur du mois octobre dans la colonne octobre de l'onglet indicateur uec 2eme onglet 2 eme imp ecran ). En gros il faut que je génère en auto le parcour de la colonne F de chrono puis l'ajout dans lautre onglet dans la bonne cellule? et pour les mois par exemple pour traiter en auto tout les mois..... c'est la ou je nage lol.

    Je ne dirait jamais assez merci!!!!!!!

    Cordialement

    Tassi Mehdi
    Images attachées Images attachées   

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 20
    Par défaut
    Citation Envoyé par Mehdi8793 Voir le message
    DOnc si je comprends bien Hao tu m'a donnée le moyen de compter les couleurs et de les insérer dans une cellule?
    Cordialement
    Oui Medhi, en fait j'ai utilisé ta pièce jointe... En utilisant mon code et en précisant le nom de la feuille et les cellules dans lesquels les nombres doivent apparaître, tu auras le nombre de cellules de couleurs.

    Dans ta feuille "Chrono" le stagiaire a repéré les différentes couleurs de case en ajoutant une lettre a celles-ci.
    (V = vert, O = Orange, etc...)

    Tu as juste à changer le nom de la feuille et la cellule de destination de ses Trois lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets("Feuille_Ou_Je_Veux_Afficher_Mon_Résultat").Range("A1").Value = compteurVert
    Worksheets("Feuille_Ou_Je_Veux_Afficher_Mon_Résultat").Range("A2").Value = compteurOrange
    Worksheets("Feuille_Ou_Je_Veux_Afficher_Mon_Résultat").Range("A3").Value = compteurRouge
    je ferais attention à ne pas ouvrir les pièces jointes la prochaine fois... je n'y avait pas pensé ^^'
    Ah et merci Nico Chg.

    Au plaisir d'avoir réussi à aider un peu

  8. #8
    Membre émérite Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Par défaut
    Citation Envoyé par Hao76 Voir le message
    [...]

    je ferais attention à ne pas ouvrir les pièces jointes la prochaine fois... je n'y avait pas pensé ^^'
    Ah et merci Nico Chg.

    Au plaisir d'avoir réussi à aider un peu
    Sur les trois raisons que j'ai cité, deux sont personnels, et dépendent donc de tes choix ! Pour information : Message épinglé en haut du forum VBA

    Mais en contrepartie, tu as pu aider beaucoup plus facilement Mehdi que moi, n'ayant pas accès au fichier. Donc c'est à toi de voir au niveau des pièces jointes ! De plus, il a posté des images, et son problème à l'air régler, donc c'est tout bon

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut
    Merci pour tout Hoa et Nico!!! Donc pour faire les autres mois je reprend ce code et je le met dans une boucle? je met en condition si et par rapport a la date (le mois du coup)? Je doit filtrer pour oCtobre je sais le fair en interactif masi pas en VBA !! lol




    Cordialement


    Mehdi

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/02/2014, 15h34
  2. [XL-2010] Trier des valeurs dans une feuille et les mettre dans une autre feuille
    Par maharo1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/12/2011, 15h02
  3. [XL-2007] CheckBox ou Listbox pour sélectionner des critères et les afficher dans une autre feuille
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 19/08/2009, 15h19
  4. Réponses: 62
    Dernier message: 16/04/2009, 10h09
  5. Réponses: 3
    Dernier message: 13/09/2007, 13h33

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