Testmulticritères Excel

Résolu
Signaler
Messages postés
4
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
16 novembre 2006
-
Messages postés
126
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 février 2007
-
Bonjour à Tous,

Voici mon Problème:
J'ai un fichier Excel avec plusieurs colonnes et plusieurs critères (voi exemple cidessous). 
A partir de ce tableau je dois faire des totaux de nombres de lignes (sur la même feuille excel et sur une cellule quelconque) répondant à plusieurs critères, par exemple:
- quel est le Nbr de lignes répondant à la fois aux critères CGI, RTT, DT
 - quel est le Nbr de lignes répondant à la fois aux critères DCA, APF, HP
et ainsi de suite...

Voila le problème, je voulais donc savoir si quelqu'un connaissais une macro pour pouvoir effectuer ce décomptes.

Merci d'avance


<colgroup>
<col style=\"WIDTH: 60pt\" span=\"6\" width=\"80\" />
</colgroup>

----

Critère 1(colonneA),

,
Critère 3 (colonneD),

,

,
Critère 2 (colonneG),

----

CGI,

,
APF,

,

,
DT,

----

CGI,

,
APF,

,

,
DT,

----

CGI,

,
RTT,

,

,
DT,

----

CGI,
 ,
RTT,
 ,
 ,
HP,

----

CGI,
 ,
RTT,
 ,
 ,
HP,

----

DCA,

,
RTT,

,

,
HP,

----

DCA,

,
RTT,

,

,
HP,

----

CGI,
 ,
RTT,
 ,
 ,
HP,

----

CGI,
 ,
APF,
 ,
 ,
HP,

----

CGI,
 ,
APF,
 ,
 ,
HP,

----

CGI,

,
APF,

,

,
DT,

----

DCA,

,
APF,

,

,
DT,

----

DCA,

,
APF,

,

,
DT,

----

CGI,

,
RTT,

,

,
DT,

----

CGI,
 ,
APF,
 ,
 ,
HP,

----

CGI,

,
RTT,

,

,
DT,

----

DCA,

,
APF,

,

,
DT,

----

DCA,

,
APF,

,

,
HP,

----

CGI,
 ,
RTT,
 ,
 ,
HP,

----

CGI,
 ,
APF,
 ,
 ,
HP,

----

CGI,
 ,
RTT,
 ,
 ,
HP,

----

CGI,

,
RTT,

,

,
DT,

----

CGI,
 ,
APF,
 ,
 ,
HP

12 réponses

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Le premier CGI doit être en A1, APF en B1 et DT en C1. Ou si c'est pas le cas incrémente i à partir de la ligne de début par exemple i = 2 si le premier CGI est en A2!

Sinon mon code marche bien!

1er critère 4 fois
2eme critère 1 fois

 Drikce 06
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Il est inutile de poser 3 fois la même question (même si les thèmes sont différents => pas normal d'ailleurs)

Un petit tour du coté du règlement s'impose NON?
[reglement.aspx Voir le règlement de CodeS-SourceS]

Une fois postée LA question il ne reste plus qu'à attendre

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut

Dim DerniereLigne As Long


Public Function PremiereLigneVide(Colonne As Integer) As Long


    PremiereLigneVide = Columns(Colonne).Find("", , , , xlByRows, xlNext).Row
    DerniereLigne = PremiereLigneVide - 1
   
End Function


Private Sub CommandButton1_Click()
 
Dim intColonne As Integer
Dim NbCritère1 As Integer
Dim NbCritère2 As Integer


Sheets("Feuil1").Select
PremiereLigneVide (1)


NbCritere1 = 0
NbCritere2 = 0


For i = 1 To DerniereLigne


'Critère1: CGI, RTT, DTIf Range("A" & i).Value "CGI" And Range("B" & i).Value "RTT" And Range("C" & i).Value = "DT" Then


NbCritere1 = NbCritere1 + 1


End If


'Critère2: DCA , APF, HPIf Range("A" & i).Value "DCA" And Range("B" & i).Value "APF" And Range("C" & i).Value = "HP" Then


NbCritere2 = NbCritere2 + 1


End If


Next i
 
MsgBox ("Critère1 : " & NbCritere1 & " fois" & Chr(10) & "Critère2 : " & NbCritere2 & " fois")


End Sub

 Drikce 06
Messages postés
126
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 février 2007

Bonjour,

J'ai raté un truc ou il me semble qu'une simple formule NBDB suffit?
Messages postés
4
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
16 novembre 2006

Re-bonjour,

- j'ai essayé de lancer la macro et je reçoit un message d'erreur ou c'est écrit:

erreur de compilation , nom ambigu détecté I

- je ne suis pas sur mais je pense que d'après ta macro les résultats n'iront pas s'inscrire sur une cellule ?

Merci bien
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
C'est si difficile que ça de rajouter :
Range("LacelluleQueTuVeux1").Value=NbCritere1
Range("LacelluleQueTuVeux2").Value=NbCritere2

Et sinon mon code marche pour du VBA et non pour VB2005! Il suffit de modifier un peu le code et voilà!

 Drikce 06
Messages postés
4
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
16 novembre 2006

Vraiment désolé de te déranger encore mais je suis novice en la matière.


En tous cas tu as raison ce n'est pas difficile de rajouter les cellules, c'est bon ça sa marche.


Par contre il me reste un problème. c'est que ton code ne prend en compte que la première ligne.


c'est à dire que pour chaques critères que je teste seule la première ligne est prise en compte.
donc les résultats sont égaux à 0 sauf pour GPI APF DT qui correspond à la première ligne du tableau(la c'est égal à 1 bien sur).


Voila si tu pouvais voir où se trouve le pb ou est - ce définitivement moi!.


Merci de ton aide


PS: la prochaine fois j'irais sur le thème Excel VBA
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Je ne peux qu'aller dans le sens de Zanus, même s'il a fait une petite erreur : ce n'est pas NBDB la formule Excel, mais =BDNB. L'aide d'EXCEL est bien faite sur cette formule en plus, donc ...
Sinon, si cette formule fait peur ... il suffit de jouer avec les formules d'EXCEL :

Un NB.Si des 3 Variables concaténées par ex, ou alors, jouer avec les formules ET( ...) ... Ce ne sont pas les possibilités qui manquent, prenant à peu près 3 minutes à mettre en place (et encore, quand on n'a pas l'habitude ^^).

Aucun besoin de code

Molenn
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut Molenn oui peut être mais s'il vient ici c'est pour avoir du code et non des formules excels!

 Drikce 06
Messages postés
4
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
16 novembre 2006

Merci bien Drikce, c bon ca marche, c cool!!!

Mon fichier est assez lourd et les critères sont nombreux et peuvent changer souvent et le code permet de remedier a ces évolutions beaucoup plus rapidement que des fonctions.

En tous cas merci beaucoup / je valide ta réponse
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Oui c'est sur que pour une question de changement et de nombre de critères, une macro est plus adpté!
De rien duclairoir.
Bonne continuation.

 Drikce 06
Messages postés
126
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 février 2007

Mille excuses. Effectivement, je revenais de pause déjeuner et j'allais reprendre. En voulant taper vite, je me suis emmêlé les pinçaux.
.