Faire un tri alphabétique sur une (ou plusieurs) colonne en y associant valeur

daiko

XLDnaute Nouveau
Bonsoir à toutes et tous.

Je ne sais pas où je dois me présenter alors je me permets de le faire ici.

Je suis débutant en VBA et je remercie tout d’abord les nombreuses et nombreux participants de ce site qui jusqu'à maintenant m'ont beaucoup aidé.

Je vous soumets mon problème.

Je dois faire un planning et je voudrais récupérer les noms de personnes en cliquant sur un bouton
- ex : si Dupont existe X fois je le récupère une seule fois
Mais je voudrais associé à cette donnée sa valeur dans le temps (ici une journée)
Dupont a travaillé 2x30mn donc =1h
Ce qui me donnerai Dupont 1h00 en C44

Je vous joins mon fichier en espérant une aide de votre part.

Je vous remercie par avance.

PS : N'étant pas très doué, excusez moi si mes explications ne sont pas très explicites.

Cdt
F
 

Pièces jointes

  • Planning-CreationRecupDonnees.xls
    69 KB · Affichages: 49

Dranreb

XLDnaute Barbatruc
Re : Faire un tri alphabétique sur une (ou plusieurs) colonne en y associant valeur

Bonsoir.
N'extrayez pas les doublons mais copiez tout, avec les heures, et faites un classement sur les noms. Les noms identiques se retrouveront ensembles en paquets. Il sera facile ensuite d'explorer la liste obtenue depuis la dernière ligne en remontant, et de faire la somme des heures au passage et puis de supprimer les lignes identiques.
Cordialement.
 

daiko

XLDnaute Nouveau
Re : Faire un tri alphabétique sur une (ou plusieurs) colonne en y associant valeur

Bonjour Dranreb

Merci de m'avoir répondu mais .... je ne comprend pas tout

- Copiez tout --> ok
- Classer les noms --> ok

mais après blocage !

Existe-t'il un exemple de cette manip ?

Cdt
F
 

Dranreb

XLDnaute Barbatruc
Re : Faire un tri alphabétique sur une (ou plusieurs) colonne en y associant valeur

Bonjour.
Je vous l'écrirai plus précisément si vous n'y arrivez pas. C'est du style:
VB:
For L = LgnFin To LgnDéb Step -1
   If Cell(L, C).Value = Cells(L - 1, C).Value Then
      Cells(L - 1, C + 1).Value = Cells(L - 1, C + 1).Value + Cell(L, C + 1).Value
      Cells(L, C).Resize(, 2).Delete xlShiftUp
      End If
   Next L
On pourrait faire un peu plus rapide avec un tableau.
À +
 

Discussions similaires

Statistiques des forums

Discussions
312 845
Messages
2 092 771
Membres
105 531
dernier inscrit
Fidele Lebeni