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 :

Aide pour trouver un moyens d'eviter que deux equipe ne se rencontre 2 fois


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Par défaut Aide pour trouver un moyens d'eviter que deux equipe ne se rencontre 2 fois
    Bonjour à tous,

    je viens de crée un fichier (ci joint) qui va me servir pour l'élaboration de phase finale pour des jeunes.

    Je souhaiterais savoir qu'elle formule il faudrait utiliser pour éviter lors de la rotation 3 deux équipes qui se sont rencontrés ne se re rencontre?

    Merci d'avance pour cette aide qui me sera d'une très forte utilité.

    Ordonalor


    PS: je veux vous dire merci car c'est grâce a vous que je me suis intéressé a Excel!!!!
    Pour le fichier le voici a l'adresse suivante (toujours sur votre site désole mais je pense mettre tromper d'endroit quand j'ai poster ce premier message):
    http://www.developpez.net/forums/d10...rencontre-2-a/

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    Pour le fichier le voici a l'adresse suivante (toujours sur votre site désole mais je pense mettre tromper d'endroit quand j'ai poster ce premier message):
    Un conseil, supprimes ton message dans excel et joins ton fichier sur ce post

    J'ai malgré tout essayé d'ouvrir ton fichier mais impossible, message "le fichier compressé est vide"
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 855
    Par défaut
    Bonjour Ordonalor,

    Je joints un fichier Excel qui pourra t’aider à choisir les équipes pour la 3éme rotation.
    J’ai relevé les résultats des 2 premières rotations (poule A). En fait, tu disposes de plusieurs possibilités pour le choix des équipes à coupler pour cette 3ème rotation.
    Au fur et à mesure que tu fais ce choix de paires, le nombre de possibilités diminue.
    Le tableau te permet de visualiser les possibilités restantes après chacun de tes choix.
    Chaque choix doit être noté dans la portion verte du tableau, au croisement des 2 équipes choisies.
    Les paires de la rotation 1 sont notées avec le chiffre 1.
    Les paires de la rotation 2 sont notées avec le chiffre 2.
    Les paires de la rotation 3 doivent être notées avec le chiffre 3.
    J’utilise le fait que la somme des 3 choix pour chacune des équipes est égale à 6. J’intègre cette condition dans une mise en forme conditionnelle des cellules.
    Lorsque tu vas choisir une paire d’équipes, les paires qui ne sont plus disponibles seront barrées automatiquement.
    Exemple :
    Pour la première paire, je fais le choix : équipe 1 – équipe 3.
    Je tape 3 dans la cellule correspondante (B4) => les plages B5:B7 et D79 sont barrées.
    Pour la deuxième paire, je fais le choix : équipe 2 - équipe 7.
    Je tape 3 dans la cellule correspondante (C8) => les plages C5 :C7 et E8:G8 sont barrées.
    Pour la troisième paire, je fais le choix : équipe 4 - équipe 5.
    Je tape 3 dans la cellule correspondante (E6) => les plages E9 :F9 sont barrées.
    Et enfin, pour la dernière paire, il me reste : équipe 6 - équipe 8.
    Je tape 3 dans la cellule correspondante (G9).
    Tu peux utiliser le même tableau pour la poule B.
    Cordialement.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Une proposition (en vba) pour remplissage à la main avec guidage.
    L'idée est que l'utilisateur entre un nombre croissant indiquant la rotation (1,2,3...) dans l'intersection de la case Equipe M et Equipe N. Les combinaisons d'une même rotations sont colorés d'une même couleur, les cases défendues sont à chaque fois colorés d'une couleur différente (qui sera la couleur de la prochaine rotation).

    1. Sur ton fichier, j'ai supprimé toutes les MFC.

    2. J'ai renommé la plage-Triangle (B3,H9,B9): Plage.

    3. J'ai ajouté 2 boutons: Rotation et RAZ.

    4. J'ai appliqué ce code sur l'évènement Change de la feuille
    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
    28
    29
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Plage As Range
    Dim Nb As Integer
     
    If Not Intersect(Range("Plage"), Target) Is Nothing Then
        On Error Resume Next
        Set Plage = Range("Plage").SpecialCells(xlCellTypeBlanks)
        On Error GoTo 0
        If Target.Count = 1 Then
            If Not Plage Is Nothing Then
                If Val(Target.Value) > 0 Then
                    Nb = Target.Value + 7
                    On Error Resume Next
                    Intersect(Target.EntireRow, Plage).Interior.ColorIndex = Nb
                    Intersect(Target.EntireColumn, Plage).Interior.ColorIndex = Nb
                    Intersect(Rows(Target.Column & ":" & Target.Column), Plage).Interior.ColorIndex = Nb
                    Intersect(Columns(Target.Row), Plage).Interior.ColorIndex = Nb
                    On Error GoTo 0
                Else
                    With Application
                        .EnableEvents = False
                        .Undo
                        .EnableEvents = True
                    End With
                End If
            End If
        End If
    End If
    End Sub
    5. et les codes des boutons
    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
    Private Sub RAZ_Click()
     
    Application.EnableEvents = False
    Range("K2:S9").ClearContents
    With Range("Plage")
        .ClearContents
        .Interior.Color = 5296274
    End With
    Application.EnableEvents = True
    End Sub
     
     
    Private Sub Rotation_Click()
    Dim c As Range
     
    Application.EnableEvents = False
    Range("K2:S9").ClearContents
    For Each c In Range("Plage")
        If Val(c.Value) > 0 Then Cells(Rows.Count, c.Value + 10).End(xlUp)(2).Value = Cells(c.Row, 1).Value & " - " & Cells(1, c.Column).Value
    Next c
    Application.EnableEvents = True
    End Sub

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 12h18
  2. Réponses: 21
    Dernier message: 10/04/2006, 14h29
  3. Besoin d'aide pour trouver un projet
    Par ptitJP dans le forum C++
    Réponses: 22
    Dernier message: 26/02/2005, 23h14
  4. Besoin d'aide pour trouver un SGBD SVP
    Par rateub dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 26/01/2005, 20h20

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