[VBA]Calcul du nombre de lignes avec 3 conditions non numériques

Calcul du nombre de lignes avec 3 conditions non numériques [VBA] - VB/VBA/VBS - Programmation

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 :
 

Citation :

   
 
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

Reply

Marsh Posté le 28-08-2012 à 10:26:11   

Reply

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.


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

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)

Reply

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 !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed