Problème compteurs

Golan2 Messages postés 6 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 16 octobre 2009 - 28 sept. 2008 à 15:21
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009 - 29 sept. 2008 à 09:57
Bonjour,

j'ai un problème de compteurs à résoudre pour lequel j'ai besoin de vos lumières.

Je cherche à catégoriser un certain nombre (variable) de documents en fonction de deux paramètres :
 - paramètre_1 : "service" pouvant prendre 23 valeurs possibles
 - paramètre_2 : "ancienneté" pouvant prendre  4 valeurs possibles.

Dans une feuille je met :
- en colonne1 le nom du document
- en colonne 9 le service
- et en colonne 10 l'ancienneté.

Je souhaite créer un tableau (plus loin dans ma feuille) de dimension :
- 23 lignes pour le service
- 4 colonnes pour l'ancienneté

Pour ce faire j'ai réalisé la macro suivante mais celle-ci ne fonctionne pas entièrement.
Il y a un souci au niveau des compteurs et des boucles.

Voici ma macro :

Sub répartition()

Dim ligne As Integer
Dim s As Integer
Dim a As Integer
Dim comp_S1_A1 As Integer               'nom du compteur pour le service_1 et de l'ancienneté_1
(...)
Dim comp_S23_A4 As Integer             'nom du dernier compteur

ligne = 3
comp_S1_A1 = 0
(...)
comp_S23_A4 = 0

For s = 1 to 23
    For p = 1 to 4
        nom_compteur = designation_compteur(s, p)
        Do While Cells(ligne, 1) <> ""
            If Cells(ligne, 9) = identifiant_service(s) Then
                If p = 1 Then
                    If Cells(ligne, 10) <= identifiant_ancienneté(p) Then
                        nom_compteur = nom_compteur + 1
                    End If                 If p 2 or p 3 Then

                    If Cells(ligne, 10) < = identifiant_ancienneté(p) and Cells(ligne, 10) >  identifiant_ancienneté(p-1) Then

                        nom_compteur = nom_compteur + 1

                    End If
                If p = 4 Then


                    If Cells(ligne, 10) > identifiant_ancienneté(p) Then


                        nom_compteur = nom_compteur + 1


                    End If
                End If
            End If
            ligne = ligne + 1
        Loop
        Cells(s + 2, p + 16) = nom_compteur
    Next
Next

End sub
----------------------------------------------------------------------
'fonction utilisée:

Function designation_compteur(service As Integer, ancienneté As integer)designation_compteur switch(service 1, ancienneté = 1, comp_S1_A1, _
                                                (...)                                                service 23, ancienneté 4, comp_S23_A4)
End Function
-----------------------------------------------------------------------
Function identifiant_service(nb_service As Integer)identifiant_service switch(nb_service 1, "service A", _
                                         (...)
                                         nb_service = 23, "service W")
End Function
-------------------------------------------------------------------------
Function identifiant_ancienneté(nb_ancienneté As Integer)identifiant_ancienneté switch(nb_ancienneté 1, 14
                                              (...)
                                               nb_ancienneté = 4, 40)
End Function

Si vous avez une idée, je suis sur ce problème depuis vendredi...
Merci de votre aide

1 réponse

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
29 sept. 2008 à 09:57
Bonjour,

Tu pourrais nous donner ton message d'erreur?
Merci

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- Le bon thème tu choisiras --
0
Rejoignez-nous