1 pièce(s) jointe(s)
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:
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