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 :

Fonction IF avec plusieurs condition [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Fonction IF avec plusieurs condition
    Bonjour,

    J'ai un petit problème avec la fonction IF, je voudrais utiliser plusieurs condition dans la fonction mais je ne trouve pas comment le faire.

    J´ai un tableau (voir capture écran en annexe) ou je dois trouvez les temps: t<2h ou 2h<t>4h ou 4h<t>8h ou t>8h.

    Pour la condition IF sur t<2h et t>8h pas de problème vu que il ni a que une condition.
    Mon problème c'est dans les deux autre: t>2h et t<4H ; t>4h et t<8h.

    En faite c'est une fonction ET dans la fonction IF.

    Quelqu’un peut me donner une petite aide SVP
    Images attachées Images attachées  

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut
    bonjour ,
    essaye avec and

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If t > V2H And t < V4H Then
    Tsup2inf4 = Tsup2inf4 + t
    End If
    Je vais essayer...j'avais pas penser aussi simple

    Pour chacune de mes condition en faite

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Ok ça marche impecable, merci beaucoup pour l'aide, j'avais pas pensez a un truc aussi simple.

    Avec ça je additionne des valeur en heures: 00:00:00 sur mes différent temps

    C’est créer des variable date, mais j' un petit problème quand mes valeurs de tempos sont élever (05:00:40 par ex.), il me donne le temps comme ça: 31-12-1899 06:18:18, au final de mes operation je voudrais montrer la durée total pour chaque "t" mais je voudrais la montrer en heures (00:00:00).

    C'est plus simple faire la conversion a la fin de la date en heure ou faire différant depuis le début?

    Le code:

    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
    Sub Temps()
     
    Dim t As Date
    Dim Tinf2 As Date
    Dim Tsup2inf4 As Date
    Dim Tsup4inf8 As Date
    Dim Tsup8 As Date
     
    Dim V2H As Date
    Dim V4H As Date
    Dim V8H As Date
    Dim Linha As String
     
    Tsup2inf4 = "00:00:00"
    Tsup4inf8 = "00:00:00"
    Tinf2 = "00:00:00"
    Tsup8 = "00:00:00"
    Linha = "2"
    V8H = "08:00:00"
    V4H = "04:00:00"
    V2H = "02:00:00"
    Do While ActiveWorkbook.Worksheets("Registo AG").Range("J" & Linha) <> ""
    t = ActiveWorkbook.Worksheets("Registo AG").Range("J" & Linha).Value
     
    'inferieur 2h
    If t < V2H Then
    Tinf2 = Tinf2 + t
    End If
     
     
    'Entre 02h et 4h
    If t > V2H And t < V4H Then
    Tsup2inf4 = Tsup2inf4 + t
    End If
     
    'entre 04h et 08h
    If t > V4H And t < V8H Then
    Tsup4inf8 = Tsup4inf8 + t
    End If
     
     
    'Sup 08h
     
    If t > V8H Then
    Tsup8 = Tsup8 + t
    End If
    Linha = Linha + 1
     
    Loop
    End Sub

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    juste a cause de la conversion est il possible de le faire en VBA au final?

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut conversion date
    Bonjour,

    Je me permets de prendre le relais.

    Peux-tu donner un exemple de valeur dans la cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Worksheets("Registo AG").Range("J" & Linha)
    On pourra avoir la format souhaité avec la propriété NumberFformat

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(macellule).NumberFormat = "hh mm"
    ou bien la méthode Format

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(macellule) = Format(Range(macellule), "hh mm")
    Cordialement.

    Marcel

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Les valeurs de ces cellules sont de ce genres: 00:01:04


    Je vais essayer se que tu ma dis, merci pour l'aide

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/03/2015, 10h29
  2. [XL-2007] fonction avec plusieurs conditions
    Par Antheadousa dans le forum Excel
    Réponses: 3
    Dernier message: 20/12/2012, 12h44
  3. [AC-2003] Fonction de moyenne pondéré avec plusieurs conditions
    Par Piccou dans le forum VBA Access
    Réponses: 34
    Dernier message: 14/08/2009, 12h07
  4. Si je fais un if() avec plusieurs conditions ..
    Par Pauli dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2007, 16h47
  5. like avec plusieur condition
    Par wayak3 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2007, 11h43

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