Comptage de termes dans une feuille

old_sn4ke

XLDnaute Nouveau
Bonsoir à tous

Dans le cadre d'un job étudiant qui consiste à faire l'inventaire de panneaux servant à fabriquer des chambres froides, j'ai l'occasion d'utiliser Excel pour repérer lesdits panneaux sur le site de stockage et en donnant les détails.
Pour faire simple le tableur représente la disposition sur le site, et dans chaque cellule on met la description d'un groupe de panneaux sous la forme:

100 3 WW 15
>100 = épaisseur en mm
>3 = longueur en m
>WW = couleurs des deux faces (white/white)
>15 = nombre de panneaux dans le groupe

Indépendamment de toutes ces précisions sur le système, je cherche à savoir s'il existe sur Excel un moyen de requérir une ou plusieurs informations contenues dans les cellules ?
Par exemple "combien y-a-t'il de panneaux de 3m d'épaisseur 100mm ?"

J'ai posé la question autour de moi et on m'a parlé des tableaux croisés mais apparemment ces derniers nécessiteraient que les cellules ne contiennent qu'une seule information.

Des idées ?

Merci d'avance !
 

Softmama

XLDnaute Accro
Re : Comptage de termes dans une feuille

Bonsoir,

Je te propose cette solution :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'mettre en A1 le critère qui doit être compté
'par exemple; mettre en A1 WW, comptera le nbre de panneaux Blanc/Blanc
nbc = 0
crit = Range("A1").Value
For Each c In Range("B2:C1000").SpecialCells(xlCellTypeConstants, 23) ' adapter la bonne plage
    If " " & c & " " Like "* " & crit & " *" Then nbc = nbc + 1
Next
'Le résultat est placé en A2
Range("A2") = nbc
End Sub
 

Softmama

XLDnaute Accro
Re : Comptage de termes dans une feuille

Re, une variante qui nécessite de préciser dans quelle partie de la chaîne chercher :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'mettre en A1 le critère qui doit être compté
'mettre en A2 quelle partie doit être étudiée (1=épaisseur, 2=longueur, 3=couleur, 4=Nbre panneaux)
nbc = 0
crit = Range("A1").Value
n = Range("A2").Value
For Each c In Range("B1:C1000").SpecialCells(xlCellTypeConstants, 23) ' adapter la bonne plage
    tableau = Split(c, " ")
    If tableau(n - 1) = crit Then nbc = nbc + 1
Next
'Le résultat est placé en A3
Range("A3") = nbc
End Sub
 

haonv

XLDnaute Occasionnel
Re : Comptage de termes dans une feuille

Bonsoir à tous ,

Une solution par formules matricielles.
Certainement moins rapide qu'avec la macro de Softmama,mais comme je l'avais fait...

Edit: Désolé pour le fichier xlsx ;voici un fichier xls
Amicalement
 

Pièces jointes

  • pour old sn4ke.xlsx
    10.7 KB · Affichages: 56
  • pour old sn4ke.xls
    29 KB · Affichages: 58
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 223
Messages
2 086 407
Membres
103 201
dernier inscrit
centrale vet