Lister Sans Doublons Et Totalisation (VBA) (Résolue)

marfipo

XLDnaute Occasionnel
Bonjour à tous,
je reviens vers vous comme je suis novice en VBA pour que vous m'aidiez a compléter mon petit projet
sur le fichier ci-joint j'ai une base de donnée qui se trouve sur les feuilles PAIE-MENS & PAIE-HOR .
ce que je souhaite avoir c'est :

1- sur l'onglet Recap je veux lister sans doublons sur la colonne A (a partir de A7) les données qui se trouve sur la colonne AD de l'onglet PAIE-MENS, ensuite je veux totaliser sur les colonnes B,C et D (a partir de B7, C7 et D7) de l'onglet Recap, les données qui se trouves sur les colonnes M,T et W de l'onglet PAIE-MENS

2- sur l'onglet Recap je veux lister sans doublons sur la colonne G (a partir de G7) les données qui se trouve sur la colonne AD de l'onglet PAIE-HOR, ensuite je veux totaliser sur les colonnes H,I et J (a partir de H7, I7 et J7) de l'onglet Recap, les données qui se trouves sur les colonnes M,T et W de l'onglet PAIE-HOR

3-sur l'onglet ODA MENS je veux copier sur la colonne L (a partir de L8) les données de la colonne A( a partir de A7) de l'onglet RECAP,
et je veux copier sur la colonne H (a partir de H8) de l'onglet ODA MENS, les données de la colonne C( a partir de C7) de l'onglet RECAP

4-sur l'onglet ODA HOR je veux copier sur la colonne L (a partir de L8) les données de la colonne G( a partir de G8 et non pas G7) de l'onglet RECAP,
et je veux copier sur la colonne H (a partir de H8) de l'onglet ODA HOR, les données de la colonne I (a partir de I8 et non pas I7) de l'onglet RECAP
et je veux copier sur la colonne O (a partir de O8) de l'onglet ODA HOR, les données de la colonne H (a partir de H8 et non pas H7) de l'onglet RECAP

5- sur l'onglet CAP Congés (Mens) je veux copier sur la colonne M (a partir de M7) les données de la colonne A( a partir de A7) de l'onglet RECAP,
Et je veux copier sur la colonne D (a partir de D7)de l'onglet CAP congés (Mens), les données de la colonne D( a partir de D7) de l'onglet RECAP,
Ensuite je veux lister sans doublons sur la colonne N( a partir de N7) de l'onglet CAP congés (Mens) les données de la colonne D de l'onglet PAIE-MENS qui correspondent au données de la colonne M de l'onglet CAP congés (Mens).

6- sur l'onglet CAP Congés (Hor) je veux que M7 egale M7 de l'onglet RECAP, ensuite je veux copier sur la colonne M (a partir de M8) les données de la colonne G (a partir de G8) de l'onglet RECAP,
Et je veux copier sur la colonne D(a partir de D7) de l'onglet CAP congés (HOR), les données de la colonne J (a partir de J7) de l'onglet RECAP,
puis je veux lister sans doublons sur la colonne N( a partir de N7) de l'onglet CAP congés (HOR) les données de la colonne D de l'onglet PAIE-HOR qui correspondent au données de la colonne M de l'onglet CAP congés (HOR) sauf pour N7 qui doit correspondre au G7 de l'onglet RECAP.

Merci d'avance
 

Pièces jointes

  • ListerSansDoublons.xlsx
    262.3 KB · Affichages: 103
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

Quelle erreur ?
Chez moi ça marche en mettant celle que j'ai indiquée après l'affectation à ValPlgAju(Me.[RécapMens]) et surtout bien entendu avant la remise à 0 de LS pour le traitement suivant.
 
Dernière édition:

marfipo

XLDnaute Occasionnel
Re : Lister Sans Doublons Et Totalisation (VBA)

Dranreb,
j'ai réussi encore une autre fois pour la 3ème demande c'est nickel jusqu'a présent
j'ai fait la même chose pour la 4ème demande sauf qu'il me faut une petite modification pour la 4ème demande parce que je veux lister les colonnes G (1), H(2) et J(4) de l'onglet RECAP a partir de la cellule G8, H8 et J8 et non pas G7...ect coment faire stp
ci-joint le fichier que j'ai modifié
 

Pièces jointes

  • GrpOrgMarfipo.zip
    203 KB · Affichages: 28
  • GrpOrgMarfipo.zip
    203 KB · Affichages: 28
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

C'est à dire qu'il faut systématiquement ignorer la 1ère ligne.
C'est plus embêtant.
Si on veut éviter de verser les éléments dans un tableau intermédiaire avec une ligne de moins, peut être qu'on pourrait tout mettre à partir des titres et remettre ensuite ceux ci. Je ne sais pas ce qui est le mieux.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

On peut aussi repartir de la plage à partir de la ligne 2, après tout, via une variable Plg As Range :
VB:
Set Plg = Me.[RécapHor]: Set Plg = Plg.Rows(2).Resize(Plg.Rows.Count - 1)
LS = LS - 1
Feuil5.[L8].Resize(LS).Value = Plg.Columns(1).Value
 

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

Ajoutez à la fin du Dim tout en haut: , Plg As Range
Je vois dès maintenant que le point 6 ne pourra pas être effectué comme vous le décrivez: c'est impossible puisque la récap ne contient qu'une fois chaque EOTP alors que vous voulez qu'ils soient répétés pour chaque info différente de la colonne D de PAIE+HOR.
Mais pas de souci: si on repart de ces données source, les EOTP seront dans le même ordre que dans la récap, certains étant répétés.
 

marfipo

XLDnaute Occasionnel
Re : Lister Sans Doublons Et Totalisation (VBA)

j'ai réussi a nouveau de resoudre le Point 4 mais j'ai une petite erreur au niveau de la feuille Recap Cellule H19, I19 et J19 ca me donne une formule et non pas une valeur comme les autres cellules je ne sais pas pk
cette erreur est apparu juste après avoir rajouté le code ci-dessous

Set Plg = Me.[RécapHor]: Set Plg = Plg.Rows(2).Resize(Plg.Rows.Count - 1)
LS = LS - 1
Feuil5.[L8].Resize(LS).Value = Plg.Columns(1).Value
 

Pièces jointes

  • GrpOrgMarfipo.zip
    204.7 KB · Affichages: 28
  • GrpOrgMarfipo.zip
    204.7 KB · Affichages: 22
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

C'est parce que les formules de totaux sont installées après avoir diminué LS de 1 pour la manip, alors ça les met sur la dernière ligne au lieu de celle d'en dessous il faut remonter plus haut la mise en place des formules de totaux.
 

marfipo

XLDnaute Occasionnel
Re : Lister Sans Doublons Et Totalisation (VBA)

je n'ai pas compris vraiment comment faire pour eviter les totaux sur H8....je dois changer quelque chose dans le dernier code ??
quand je met dans le code LS=LS au lieu de LS= LS -1 ca me donne cette fois une erreur sur la cellule L20 de l'onglet ODA HOR
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

Mettez la mise en place des FormulaR1C1 = "=SUM(R7C:R[-1]C)" juste après les affectations de TS à ValPlgAju(Me.[Récap
Ensuite seulement LS doit bien être diminué de 1 pour RécapHor puisque qu'on ne reprend la plage qu'à partir de sa 2ième ligne.
 
Dernière édition:

marfipo

XLDnaute Occasionnel
Re : Lister Sans Doublons Et Totalisation (VBA)

super ça marché,
même si je change Me.[RécapHor].Cells(LS + 1, 2) par Me.[RécapHor].Cells(LS + 2, 2) fonctionne en laissant la formule en dessous vous savez pas pk?

Set Plg = Me.[RécapHor]: Set Plg = Plg.Rows(2).Resize(Plg.Rows.Count - 1)
LS = LS - 1
Feuil5.[L8].Resize(LS).Value = Plg.Columns(1).Value
Me.[RécapHor].Cells(LS + 2, 2).Resize(, 3).FormulaR1C1 = "=SUM(R7C:R[-1]C)"

LS = 0
 

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

Oui si vous voulez ça va aussi. Mais il vaudrait mieux terminer la sortie de la récap, avec ses formules de totaux avant de faire une manip qui n'a rien à voir avec ça. Je laisserais peut être même une ligne vide avant la manip, ou mieux un commentaire.
 

marfipo

XLDnaute Occasionnel
Re : Lister Sans Doublons Et Totalisation (VBA)

oui j'ai fini par mettre le code de cette manière :

ValPlgAju(Me.[RécapHor]) = TS
Me.[RécapHor].Cells(LS + 1, 2).Resize(, 3).FormulaR1C1 = "=SUM(R7C:R[-1]C)"
Set Plg = Me.[RécapHor]: Set Plg = Plg.Rows(2).Resize(Plg.Rows.Count - 1)
LS = LS - 1
Feuil5.[L8].Resize(LS).Value = Plg.Columns(1).Value
Feuil5.[H8].Resize(LS).Value = Plg.Columns(3).Value
Feuil5.[O8].Resize(LS).Value = Plg.Columns(2).Value

LS = 0

c'est bien ce que vous m'avez demander de faire ??
maintenant je fais comment pour le point 5 par ce que la colonne N cette fois de l'onglet CAP Congés (Mens) se rajoute et n'existe pas sur l'onglet recap ?

pour rappel demande 5 :

sur l'onglet CAP Congés (Mens) je veux copier sur la colonne M (a partir de M7) les données de la colonne A( a partir de A7) de l'onglet RECAP,
Et je veux copier sur la colonne D (a partir de D7)de l'onglet CAP congés (Mens), les données de la colonne D( a partir de D7) de l'onglet RECAP,
Ensuite je veux Copier sur la colonne N( a partir de N7) de l'onglet CAP congés (Mens) les données de la colonne D de l'onglet PAIE-MENS qui correspondent au données de la colonne M de l'onglet CAP congés (Mens).
 

Dranreb

XLDnaute Barbatruc
Re : Lister Sans Doublons Et Totalisation (VBA)

À partir du moment ou vous avez besoin de sortir les associations uniques de colonnes 30 et 4 de données sources, vous avez intérêt à refaire une structure comme pour l'établissement des Récap, mais en ajoutant , 4 après 30 à l'appel de GroupOrg et en définissant une variable As SsGoup pour ce niveau. Et c'est de son .Contenu et non plus de celui de EOTP que vous tirerez les Détail.
Parce que EOTP.Contenu, qu'il faut explorer quand même, lui il vous donnera justement chacun de ces SsGroup.
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
476

Statistiques des forums

Discussions
312 188
Messages
2 086 028
Membres
103 100
dernier inscrit
erym64300