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 :

Avoir deux conditions dans la fonction If / If not [XL-2010]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Apprenti
    Inscrit en
    Décembre 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2013
    Messages : 44
    Par défaut Avoir deux conditions dans la fonction If / If not
    Bonjour à tous,

    J'ai un léger soucis qui, je pense, ne va pas vous poser de problème!
    Sur cette ligne de 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
    'la macro se déclenche à chaque fois qu'une valeur est entrée dans une cellule de la feuille
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim Ligne As Variant
        'si la saisie concerne une colonne inférieure à 5 et que les saisies des colonnes A, B et D
        'ont été faites
        If Target.Column < 6 And Application.CountA(Cells(Target.Row, 1).Resize(, 5)) = 5 Then
            With Sheets("CalculsMacros")
                'on cherche sur la feuille "CalculsMacros" le numéro de ligne correspondant à l'évènement
                Ligne = Application.Match(Cells(Target.Row, 5), .[C:C], 0)
                'si  on ne le trouve pas, on affecte le n° de la ligne "Autres"
                'on peut aussi rechercher ce n°
                If Not IsNumeric(Ligne) Then Ligne = 9
                'on additionne le nombre de la colonne C de la feuille "saisie-pilote" dans la colonne E
                ' de la feuille "CalculsMacros"
                .Cells(Ligne, 5) = .Cells(Ligne, 5) + Cells(Target.Row, 3)
                .Cells(Ligne, 8) = .Cells(Ligne, 8) + 1
            End With
        End If
    End Sub
    Je souhaiterai que dans la fonction If (ou If not je ne sais pas trop...) soit rajouté une deuxième condition: Que la variable "Ligne" égale la colonne 5 (E) ce qui est déjà fait ET égale la colonne 4 (D).
    En effet, si il y a la même cellule plusieurs fois sur la colonne E alors que sur la colonne D celles-ci sont différentes, la variable "Ligne" va prendre la première cellule trouvée en E alors que ce n'est pas forcément la bonne...

    Je rajoute le fichier en pièce jointe si je me suis mal fait comprendre .

    Cordialement,

    Blend
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. avoir deux serveurs dans un seul et même domaine
    Par Jean-Claude Dusse dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 26/01/2009, 12h03
  2. dégriser un champ : deux arguments dans la fonction
    Par fripette dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 09/06/2008, 18h20
  3. conditions dans la fonction DLookUp
    Par joe370 dans le forum VBA Access
    Réponses: 6
    Dernier message: 07/06/2007, 10h50
  4. Réponses: 2
    Dernier message: 20/01/2006, 15h15
  5. [FLASH MX2004] Deux conditions dans une boucle
    Par pierrot10 dans le forum Flash
    Réponses: 1
    Dernier message: 06/11/2005, 16h31

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