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 :

(xl-VBA) Ajouter unedeuxieme conditions dans un macro [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut (xl-VBA) Ajouter unedeuxieme conditions dans un macro
    Bonjour

    J'ai une commande en VBA a l'effet de faire la somme de la colonne M tant que la colonne B n'est pas vite et je veux y ajouter un autre condition a l'effet que tant que la colonne C soit < 100



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Range("M4").Select
                ActiveCell.Formula2R1C1 = _
                "=AVERAGE(IF(R7C2:R76C2<>"""",R7C13:R76C13))"
    =moyenne(si("B7:B76" <> """",M7:M76)) je veux y a jouter SI("C7:C76"<100)

    J'ai essayé
    =moyenne(SI("b7:B76" <>"""" & and "C7:C76" < 100,M7:M76))

    ou est-ce mieux que je procède avec une bloucle

    merci pour vos suggestions


    Mario

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Salut,

    As-tu essayé avec les formules Somme.Si ou Somme.Si.Ens ?
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =SOMME.SI(B:B; "<>0")
    =SOMME.SI.ENS(B:B; B:B; "<>0")
    Somme.Si.Ens conviendra mieux, elle est multi critères.

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [XL-2019] (xl-VBA) Ajouter une deuxieme conditions dans un macro
    Merci de votre suggestion je vais faire des essais et vous revenir

    J,ai fais un petit code pour faire un essais et ca fonctionne

    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
    Sub Macro2()
    '
    ' Macro2 Macro
    '
    ' Touche de raccourci du clavier: Ctrl+t
     
      Dim Moyenne As Double ' La moyenne de la colonne
      Dim Somme As Double ' La somme des valeurs de la colonne
      Dim numero, COMPTEUR, derniereligne As Integer
     
      derniereligne = Cells(Rows.Count, 1).End(xlUp).Row
     
        numero = 7  'Numéro de départ
        COMPTEUR = 0
       Do While numero <= derniereligne  'Tant que la variable numero est <=  DERNIERE LIGNE, la boucle est répétée
               If Cells(numero, 2).Value <> "" Then
                  If Cells(numero, 3).Value < 100 Then
                      Somme = Somme + Cells(numero, 13).Value
                     COMPTEUR = COMPTEUR + 1
                  End If
              End If
                    numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle
       Loop
     
       If COMPTEUR > 0 Then ' Si le compteur est positif, c'est qu'on a au moins une valeur
            Moyenne = Somme / COMPTEUR ' On calcule la moyenne en divisant la somme par le compteur
            MsgBox "La moyenne de la colonne est " & Moyenne ' On affiche la moyenne dans une boîte de dialogue
        Else ' Sinon, c'est qu'on n'a aucune valeur
            MsgBox "Il n'y a pas de valeur dans la colonne" ' On affiche un message d'erreur
        End If
     
     
     
    End Sub
    Il peut avoir d'autre méthode je suis preneur

    merci

    Mario

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Note:
    Si tu comptes rester dans VBA, les formules sont utilisable via Application.WorksheetFunction, ca peut être plus efficace que faire des boucles.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Ws As Excel.Worksheet
    Set Ws = ThisWorkbook.Worksheets(1)
     
    Dim Somme As Double
    Somme = Application.WorksheetFunction.Sum(Ws.Range("B1:F56"))

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut
    Merci ta suggestion est tres bonne je vais l'essayé pour mieux comprendre les formules Vba

    Mais j'ai cherché avec ce que tu ma suggéré

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    =SOMME.SI(B:B; "<>0")
    =SOMME.SI.ENS(B:B; B:B; "<>0")

    j'ai trouvé ma réponse qui fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      =AVERAGEA(SI(B7:B77<>"";SI(C7:C76<100;M7:M76)))
    Merci encore

    Mario

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

Discussions similaires

  1. [XL-MAC 2016] Excel Macro VBA: Ajouter des valeurs dans des feuilles differents suivant des critères
    Par DFi100 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/06/2018, 12h54
  2. [XL-2007] Macro VBA ajout un champ dans base de donnée
    Par Sangoku76 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/10/2012, 09h35
  3. Ajout de conditions dans une requete
    Par Sebastien_INR59 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/06/2006, 19h17
  4. problème de condition dans une macro
    Par Skizo dans le forum Access
    Réponses: 3
    Dernier message: 15/05/2006, 11h22
  5. VBA : ajouter une valeur dans une liste déroulante
    Par remi59 dans le forum Access
    Réponses: 4
    Dernier message: 22/12/2005, 10h01

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