Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Créer une VBA pour copier des valeurs de plusieurs lignes d'une feuille sur une même ligne d'une autre feuille

marco22

XLDnaute Occasionnel
Bonjour
J'aimerai transférer des scores de plusieurs ligne d'une feuille sur une seule ligne d'une autre feuille
J'ai créer un totaliseur de points tarot
Sur la feuille table j'entre les scores de chaque joueur de chaque table ce qui donne pour la même date 2, 3 ou 4 lignes
J'aimerai retrouver ces scores sur la feuille21-22 sur une seule ligne a la date (colonne A)
j'ai essayé avec des formules cela fonctionne mais la colonne (W) qui compte le nombre de joueurs n'est plus bonne je spécifie qu'un joueur peut avoir un score de zéro
Pour le moment je rentre manuellement les scores
Je pense qu'une macro pourrai résoudre le problème mais je ne sais pas comment faire!
merci d'avance
 

Pièces jointes

  • POINTS TAROT nov 25.xlsm
    56.4 KB · Affichages: 13

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Marco,
Je pense qu'on peut s'en sortir sans macro. Voir PJ, avec :
Colonnes Prénoms :
VB:
=SI(NB.SI.ENS(table!C$6:C$162;">-1";table!$A$6:$A$162;$A7)>0;0,000000001+SOMME.SI.ENS(table!C$6:C$162;table!$A$6:$A$162;$A7);"")
Somme points et Nombre de participants :
Code:
=SOMME(C7:R7)
=NB.SI(C7:R7;">0")
Pour différencier le vide du 0, je rajoute 1E-9, ce qui ne pose pas de problème pour la somme puisqu'on affiche la valeur entière.
A vérifier.
 

Pièces jointes

  • POINTS TAROT nov 25 (V2).xlsm
    65.9 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonsoir marco22,sylvanu,

Effectivement pas besoin de macro, en C7 de la 1ère feuille :
VB:
=SOMMEPROD((table!$C$4:$R$4=C$4)*(table!$A$6:$A$162=$A7);table!$C$6:$R$162)
à tirer sur C7:R59.

A+
 

Pièces jointes

  • POINTS TAROT nov 25(1).xlsm
    61.6 KB · Affichages: 4

marco22

XLDnaute Occasionnel
Merci Sylvanu
Ce que j'aurai voulu c'est que le score de joueur de la même journée soit sur la même ligne.
la colonne B doit toujours être a 0 car quand on compte les points au tarot la somme des points positifs et négatif est toujours de 0
Le nombre de joueurs de la journée du 03/10/21 est de 11 joueurs donc sur la ligne du 6/10/210 je devrais avoir 11 scores dont des positifs et des négatifs dont la somme est = à 0
 

marco22

XLDnaute Occasionnel
Merci job75
Cela me parait pas mal
il y a juste le nombre de joueurs Colonne W qui n'est pas bon il donne 16 joueurs a avoir joué alors qu'il y en a 11, et le nombre de participations (ligne 2) qui donne 53 participations pour chaque joueurs alors qu'il n'y a eu que 6 journée
 

marco22

XLDnaute Occasionnel
Nombre de joueurs par journée (samedi dernier)
J'ai petit problème qui n'est pas tout a fait le fil de notre discussion.
Au tarot le score "0" arrive de temps en temps
Le 27/10/21 Le joueur Alain Lebreton a fait un score de "0" et ce score ne c'est pas inscrit dans la cellule: C10
donc dans la colonne "W" le nombre de joueurs de cette journée est (W10) est de 7 au lieu de 8 réellement
Je ne vois pas comment faire pour y remédier!
merci
 

Pièces jointes

  • POINTS TAROT 02 déc.xlsm
    61.7 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Marco,
Vous ne pouvez pas y remédier.
Si 0 veut dire présent et vide absent, XL ne pourra pas savoir que "quelquefois" vide veut dire présent.
Le seul moyen est d'être rigoureux.
Ou de trouver une autre astuce pour détecter que quelque chose cloche: le score, les points attribués ...
 

marco22

XLDnaute Occasionnel
Merci de votre réponse
ce que j'ai fait c'est de lui mette un score 0.0001 avec une cellule nombre sans décimales et dans ma colonne "B" j'ai fais un arrondi.inf (=ARRONDI.INF(SOMME(C9:V9;0);0)
comme ça j'ai mon nombre de joueurs
merci de vos conseils
@+m@rco
 

job75

XLDnaute Barbatruc
Bonjour marco22, sylvanu,
Bonjour Marco,
Vous ne pouvez pas y remédier.
Eh bien si, il faut mettre des 0 où il faut et des textes vides "" où il faut, formule en C7 de la 1ère feuille :
Code:
=SI(SOMMEPROD((table!$C$4:$V$4=C$4)*(table!$A$6:$A$162=$A7)*ESTNUM(table!$C$6:$V$162));SOMMEPROD((table!$C$4:$V$4=C$4)*(table!$A$6:$A$162=$A7)*table!$C$6:$V$162);"")
Nota 1 : Le format personnalisé 0;-0;;@ pour masquer les valeurs zéro a été supprimé.

Nota 2 : j'ai revu les autres formules ainsi que les MFC.

Nota 3 : je ne me suis pas occupé de vos macros, elles paraissent plutôt gênantes....

A+
 

Pièces jointes

  • POINTS TAROT 02 déc(1).xlsm
    67.5 KB · Affichages: 4

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…