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 :

Multiples conditions avec macro


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Multiples conditions avec macro
    Bonjour a tous, je viens de voir que se forum possede beaucoup de gens competants donc si l'un de vous peut m'aider ....

    (Je fournis mon fichier xls)


    Voila je voudrais signaler une alerte quand il y a plus de 3 temps de coupure a 20sec avec la meme ville, le meme sport et le meme jour !
    Je ne sait pas trop comment mis prendre, je suis completement perdu !

    Merci a vous !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Il y a certainement plus performant avec des sommeprod mais c'est pas vraiment ma tasse de thé

    A mettre en F2 et a copier judqu'en bas du tableau
    A mettre en G2 et a copier judqu'en bas du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(E2="20sec";(SI(NB.SI(F:F;A2&D2&E2)>=3;"Message";""));"")

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci, ca marche, mais je souhaiterais en Macro si possible ...
    Parceque après j'ai plusieurs modifications a y faire
    Merci !

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Voila en 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    Dim j As Integer
    Dim i As Long
     
    Dim strTEmp As String
    Dim StrTAB() As String
    Dim strMessage As String
     
    Dim bol As Boolean
     
    i = 2
    ReDim Preserve StrTAB(1, 1)
     
    Do While Not Range("A" & i).Value = vide
        bol = False
        'Action si 20sec
        If Range("E" & i).Value = "20sec" Then
     
            strTEmp = Range("A" & i).Value & Range("D" & i).Value
     
            'Boucle sur la variable tableau pour rechercher si deja trouvé
            If UBound(StrTAB, 2) >= 0 Then
                For j = 0 To UBound(StrTAB, 2)
                    'Si on trouve on incrémente le compteur
                    If StrTAB(0, j) = strTEmp Then
                        StrTAB(1, j) = Val(StrTAB(1, j)) + 1
                        bol = True
                    End If
                Next j
            End If
     
            'Si pas trouvé on créait
            If bol = False Then
                j = UBound(StrTAB, 2) + 1
                ReDim Preserve StrTAB(1, j)
                StrTAB(0, j) = strTEmp
                StrTAB(1, j) = 1
            End If
     
        End If
     
        i = i + 1
    Loop
     
    'Boucle pour chercher les pairs >= 3
    For j = 1 To UBound(StrTAB, 2)
        If Val(StrTAB(1, j)) >= 3 Then
            strMessage = strMessage & StrTAB(0, j) & " : " & StrTAB(1, j) & Chr(13)
        End If
    Next j
     
    MsgBox strMessage

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Salut, super merci! par contre comment 'Extraire' la variable StrTAB(0, j)
    De sorte a pouvoir avec le nom du sport et le nom de la ville dans des variables bien séparées ?

    Encore merci !!!

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    il te suffit de formater la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strTEmp = Range("A" & i).Value & Range("D" & i).Value
    par exemple en séparant avec un -

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strTEmp = Range("A" & i).Value & " - " & Range("D" & i).Value

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Je me suis surment mal exprimé, mais je voudrais une varaible qui contient le sport, une autre pour la ville

  8. #8
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    dans ton exemple on peut trouver plusieurs combinaison.
    Comment fait -on dans ce cas? on ne renvoi que la premiere combinaison trouvée?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Voila, c'est ca mon, probleme ...
    faudrais faire variable1sport, variable2sport etc...
    Merci en tous cas!

  10. #10
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Si tu nous expliquais la finalité, peut être qu'on pourrait te donner une piste

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci d'avoir resolu mon probleme ! (j'ai trouvé pour le second petit soucis)

    A bientot !

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

Discussions similaires

  1. [AC-2007] ERREUR 0 : Lancer une macro sous condition avec "ExecuterMacro"
    Par Octo LPO dans le forum Macros Access
    Réponses: 2
    Dernier message: 01/02/2013, 15h31
  2. [XL-2007] Filtrage multiple d'un tableau excel avec macro
    Par robby98800 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2012, 09h39
  3. multiple count avec condition
    Par psgman113 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/08/2011, 12h00
  4. [XL-2003] Créer des listes avec conditions sans macro
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 26/07/2011, 15h14
  5. [XL-2003] boucle For avec multiple conditions d'arret
    Par yvespi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2010, 09h30

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