Testmulticritères Excel

Résolu
duclairoir Messages postés 4 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006 - 16 nov. 2006 à 11:39
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007 - 16 nov. 2006 à 22:34
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

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
16 nov. 2006 à 15:21
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
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 nov. 2006 à 11:42
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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
16 nov. 2006 à 11:49
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
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
16 nov. 2006 à 13:24
Bonjour,

J'ai raté un truc ou il me semble qu'une simple formule NBDB suffit?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
duclairoir Messages postés 4 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
16 nov. 2006 à 13:27
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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
16 nov. 2006 à 14:06
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
0
duclairoir Messages postés 4 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
16 nov. 2006 à 15:11
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
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
16 nov. 2006 à 15:18
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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
16 nov. 2006 à 15:23
Salut Molenn oui peut être mais s'il vient ici c'est pour avoir du code et non des formules excels!

 Drikce 06
0
duclairoir Messages postés 4 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
16 nov. 2006 à 15:37
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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
16 nov. 2006 à 16:13
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
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
16 nov. 2006 à 22:34
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.
.
0
Rejoignez-nous