Suivi statistique

Bonjour!

j'essaie de réaliser un suivi statistique de plusieurs mesures, pour cela j'ai réalisé une macro qui compte le nombre d’apparition d'une surface sur une colonne, mais j'ai deux problèmes:

  • Cela ne marche pas pour certaines surfaces... Ex "Alésage" ou j'ai la valeur 0 constamment
  • Dans certains cas, plusieurs surfaces sont mesurées et la cellule contient "Surface 1, Surface 2" et j'aimerais pouvoir les compter dans le suivi aussi.
Je vous joins le fichier pour que ce soit plus clair.

Bonjour,

6 feuilles, 1 userform, 4 modules un peu plus de 25 sub.

qu'elle est la macro en cause?

Désolé j'aurais du préciser, c'est la feuille "Suivi" et le module Suivi, les macros "EtudeCara" et "EtudeSurface"

pour les éléments manquants, l'explication est que dans la feuille on trouve un espace en trop en fin de libellé, donc la comparaison ne trouve pas de concordance. Corrigé dans le code suivant par l'utilisation de la fonction RTRIM()

Pour les cas ou plusieurs valeurs dans la cellule, corrigé en utilisant la fonction SPLIT( )

J'ai remplacé les if, elseif... par un select case

Sub EtudeSurface()
Dim i As Integer
Dim nA As Integer
Dim nH As Integer
Dim nH1 As Integer
Dim nCol As Integer
Dim nP As Integer
Dim nE As Integer
Dim nINT As Integer
Dim nEX As Integer
Dim nGr As Integer
Dim nPe As Integer
Dim nCh As Integer
Dim T
nH = 0
nH1 = 0
nCol = 0
nP = 0
nE = 0
nINT = 0
nEX = 0
nGr = 0
nPe = 0
nCh = 0
nA = 0
With Worksheets("Suivi")
For i = 6 To .Range("B" & Rows.Count).End(xlUp).Row ' dernière ligne
    T = Split(.Range("E" & i).Value, ",") ' tableau des valeurs séparées par ","
    For j = 0 To UBound(T)
    Select Case RTrim(T(j)) ' rtrim pour supprimer l'espace qui suit
        Case "Alésage"
            nA = nA + 1
        Case "H"
            nH = nH + 1
        Case "H1"
            nH1 = nH1 + 1
        Case "Collet"
            nCol = nCol + 1
        Case "Portée de joint"
            nP = nP + 1
        Case "Epaulement"
            nE = nE + 1
        Case "INT"
            nINT = nINT + 1
        Case "EXT"
            nEX = nEX + 1
        Case "Face: Grande"
            nGr = nGr + 1
        Case "Face: Petite"
            nPe = nPe + 1
        Case "Chemin"
            nCh = nCh + 1
        End Select
    Next
Next i
.Range("Z2").Value = nA
.Range("Z3").Value = nCh
.Range("Z4").Value = nCol
.Range("AB2").Value = nE
.Range("AB3").Value = nP
.Range("AB4").Value = nINT
.Range("AD2").Value = nEX
.Range("AD3").Value = nPe
.Range("AD4").Value = nGr
.Range("AF2").Value = nH
.Range("AF3").Value = nH1
End With
End Sub

le même principe peut-être utilisé pour l'autre macro

A+

Super! Ca marche parfaitement! Un grand merci! Tu peux m'expliquer plus en détail le fonctionnement des deux fonctions? Je n'ai pas bien saisi et comme c'est mon sujet de stage c'est important que je sois bien renseigné

Rechercher des sujets similaires à "suivi statistique"