Calcul du nombre de lignes avec 3 conditions non numériques [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 28-08-2012 à 16:05:31
Bonjour,
tu as une erreur dans ta formule. Tu mets ligne 1 pour la colonne A et ligne 2 pour les autres :
"SumProduct((A2:A11327= "MCN" )*(D1:D11327="true" )*(E1:E11327="true" ))"
Il faut que le nombre de lignes de tes matrices soit le même partout.
De plus, tu va compter les occurrences avec ="true" dans les 2 colonnes et apparemment, ce n'est pas ce que tu veux :
Citation : Je voudrait compter (en vba) le nombre de ligne dans lesquelles il y a par exemple "MCN" dans la colonne 1, true" dans la colonne deux et "false" dans la colonne 3. |
Marsh Posté le 28-08-2012 à 16:42:25
Bonjour,
Merci pour ta réponse rapide, effectivement pour le "2" je ne m'en était pas aperçu. Pour le "true" et le false c'était juste des exemples de chaine étant donné que les chaines que je recherche sont plus complexes (j'ai essayé de simplifier au maximum l'exemple)
Marsh Posté le 28-08-2012 à 16:44:15
Ah, ba je viens de changer le "1" en "2" et ca marche ahaha
merci pour ta réponse rapide, je galérais tellement depuis une heure que j'imaginais pas que ce puisse être une étourderie comme celle la !
Merci encore !!
Marsh Posté le 28-08-2012 à 10:26:11
Bonjour,
J'ai essayé de chercher et reproduire les réponses que j'avais trouvé sur plusieurs forum mais cela ne marche pas.
Voici mon problème:
J'ai un tableau avec un nombre de ligne variable.
Chaque ligne est composé de 6 colonnes contenant principalement des strings
Je voudrait compter (en vba) le nombre de ligne dans lesquelles il y a par exemple "MCN" dans la colonne 1, true" dans la colonne deux et "false" dans la colonne 3.
J'ai essayé ceci sans succès :
j = Sheets("Feuil1" ).Range("I" & Application.Rows.Count).End(xlUp).Row
ColSigle = "A"
ColFlagDemat = "B"
ColOrganisme = "C"
ColEtat = "D"
ColFlagNotification = "E"
ColMatricule = "F"
formule = "SumProduct((" & ColSigle & "2:" & ColSigle & j - 1 & "= " & Chr(34) & "MCN" & Chr(34) & " )*(" & ColEtat & "1:" & ColEtat & j - 1 & "=" & Chr(34) & "true" & Chr(34) & " )*(" & ColFlagNotification & "1:" & ColFlagNotification & j - 1 & "=" & Chr(34) & "true" & Chr(34) & " ))"
Sheets("resultat" ).Cells(1, 8) = Evaluate(formule)
En gros la chaine de caractère formule donne ceci :
"SumProduct((A2:A11327= "MCN" )*(D1:D11327="true" )*(E1:E11327="true" ))"
Le résultat est un très beau #N/A
Merci d'avance pour votre aide