XL 2016 Rechercher VBA matricules par rapport à un poste

Jefekoi

XLDnaute Junior
Bonjour à tous,

Dans la colonne A j'ai une liste de poste de travail
Dans la colonne B les matricules des personnes qui ont occupés le ou les postes
Postes​
Matricules​
Poste 1​
777
Poste 1​
777
Poste 1​
444
Poste 1​
444
Poste 2​
111
Poste 2​
111
Poste 2​
888
Poste 3​
125
Poste 3​
125
Poste 1=​
2 personnes
Poste 2=​
2 personnes
Poste 3=​
1 personne

Mon but est de récupérer et d'afficher pour chaque poste combien de personne y ont travaillé (en rouge)

Voilà 3 jours que j'essaie de trouver la solution mais pas moyen.
Et comme mon programme est largement plus grand que ça ( 5 feuilles de programmation) , je souhaite faire cette formule en VBA

Merci pour votre aide.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @Jefekoi ;), @Chris401 ;),

Sans trop savoir ce que veut @Jefekoi (même pas un petit exemple de résultat :mad:) voici une version à ma sauce.
  • Pas de dictionary (donc compatible Apple - on pense à eux de temps en temps)
  • la procédure est dans module1 et a pour nom BilanPostesMatricules

edit: coucou @fanch55 :)
 

Pièces jointes

  • Jefekoi- occurence matricule par poste- v2.xlsm
    24.7 KB · Affichages: 5
Dernière édition:

fanch55

XLDnaute Barbatruc
Re @Jefekoi ;), @Chris401 ;),

Sans trop savoir ce que veut @Jefekoi (même pas un petit exemple de résultat :mad:) voici une version à ma sauce.
  • Pas de dictionary (donc compatible Apple - on pense à eux de temps en temps)
  • la procédure est dans module1 et a pour nom BilanPostesMatricules

edit: coucou @fanch55 :)
Salut @mapomme , j'ai définitivement quitté le Val d'oise, je suis en Vendée until death . Mais je répond toujours et je te suis avec assiduité .. 😁
 

Jefekoi

XLDnaute Junior
Bonjour à tous,

Voilà j'ai finalement fait comme ceci pour récupérer les matricules
Un select case (TabFin(Y, 1))
Op est le numéro de la colonne avec le matricule.

VB:
For xx = 1 To x
Set rg = Worksheets("Résultats").Range("Report").Find(TabFin(xx, 1))
If Not rg Is Nothing Then
Y = Y + 1
Select Case (TabFin(Y, 1))
Case "Poste 1"
Sheets("Accueil").Range("F18").Value = Sheets("Résultats").Cells(rg.Row, Op).Value & "(" & TabFin(Y, 2) & ")"
Case "Poste 2"
ETC......

En tout cas merci à vous , rapide et éfficace

Désolé pour ne pas avoir mis de source, comme j'ai dit pour programme est confidentiel et en refaire un autre à coté m'aurais pris pas mal de temps.
 

Discussions similaires

Réponses
6
Affichages
703

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16