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 :

Recherche code vba pour MFC


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Points : 64
    Points
    64
    Par défaut Recherche code vba pour MFC
    Bonjour le forum,

    Dans le tableau du fichier joint, je fais le classement par ordre d'arrivé
    je cherche le code VBA pour faire une MFC qui me colorie la ligne ou le plus jeune des participants serait le mieux classé en tenant compte que les plus jeune sont des juniors et qu'ils sont nés entre 1995 et 1996, comme indiqué dans la feuille cate que j'ai surligné en jaune car dans mon tableau, j'ai que les dates de naissances qui me servent à trouver le plus jeune
    j'ai colorié la ligne manuellement dans le fichier joint du plus jeune
    merci d'avance
    Jacky
    Fichiers attachés Fichiers attachés

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

    Une solution possible sans MFC.

    J'ai ajouté une colonne catégorie dans la feuille Epreuve. J'ai remplacé Avant par 1800 dans la feuille CATE.

    Le fichier contient une fonction permettant d'indiquer la catégorie suivant l'âge du participant et une procédure pour déterminer le premier de chaque catégorie.
    Les couleurs sont déterminées selon les colonnes F et H dans la feuille CATE.

    Cordialement.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Points : 64
    Points
    64
    Par défaut
    Bonsoir le forum, Eric,

    merci beaucoup, cela fonctionne, il va falloir que je change mes autres codes car l'ajout de la colonne change mes autres code mais c'est parfait
    jacky

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

    Pour ne faire apparaître uniquement que le premier de la catégorie la plus jeune de l'épreuve, il suffit de remplacer la commande Exit For par Exit Sub dans la macro :

    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
    Sub MettreEnEvidenceLePlusJeuneParCategorie(ByVal FeuilleEncours As Worksheet, ByVal TitreLigne As Long, ByVal Sexe As String)
     
        If ChargementMatriceCategories(Sexe) = True Then
            With FeuilleEncours
                 .Cells.Interior.Color = xlNone  ' Pour effacer les couleurs existantes
                 ColonneCategorie = 6
                 DerniereLigneEpreuve = .Cells(.Rows.Count, 1).End(xlUp).Row
                 If DerniereLigneEpreuve > TitreLigne Then
                    Set AireCategories = .Range(.Cells(TitreLigne + 1, ColonneCategorie), .Cells(DerniereLigneEpreuve, ColonneCategorie))
                    For I = LBound(MatriceCategories, 2) To UBound(MatriceCategories, 2)
                            For Each CelluleCategories In AireCategories
                                If CelluleCategories = MatriceCategories(0, I) Then
                                   With .Range(.Cells(CelluleCategories.Row, 1), .Cells(CelluleCategories.Row, 9))
                                        .Interior.Color = MatriceCategories(1, I)
                                        .Font.Color = MatriceCategories(2, I)
                                         Exit For
                                       ' Exit Sub  ' Pour ne mettre en évidence que le premier de la plus jeune des catégories.
                                    End With
                                 End If
                            Next CelluleCategories
                    Next I
                    Set AireCategories = Nothing
                End If
            End With
        End If
     
    End Sub
    Nb : Pour neutraliser la commande Exit For, ajouter un ' en tête de ligne, et supprimer celui devant Exit Sub.

    Vous pouvez également ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Cells.Interior.Color = xlNone
    dans le code pour effacer les couleurs existantes comme dans la procédure ci-dessus.

    Un ancien de la rue Jules Renard à Château Gontier.

    Cordialement.
    Dernière modification par AlainTech ; 02/05/2014 à 04h07. Motif: Suppression de la citation inutile

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

Discussions similaires

  1. Réponses: 37
    Dernier message: 15/11/2011, 11h41
  2. recherche du code VBA pour executer ma requete
    Par gwems dans le forum VBA Access
    Réponses: 28
    Dernier message: 19/03/2009, 23h26
  3. [VBA-A] Code vba pour inclure un formulaire Acces
    Par MadSquirrel dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2006, 18h19
  4. Réponses: 4
    Dernier message: 25/03/2006, 23h05
  5. Réponses: 3
    Dernier message: 06/09/2005, 10h27

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