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

XL 2016 macro pour éviter Si imbriqué (Résolu)

Nicolas Michel

XLDnaute Nouveau
Bonjour à tous,

j'aimerai faire un report des temps de production de chaque personne.
Comme on peut le voir dans le fichier, pour chaque client, j'ai le nombre de :
Commandes
Poids
Colis
Temps
Nom préparatrice

j'ai besoin d'avoir le total de chaque donnée par jour pour chaque préparatrice.

j'ai réussi a faire une formule SI imbriqué imbriqué imbriqué ... =+SI($C$10=AJ$3;C6;0)+SI($D$10=AJ$3;$D6;0)+SI($E$10=AJ$3;$E6;0)+SI($F$10=AJ$3;$F6;0)+SI($G$10=AJ$3;$G6;0)+SI($H$10=AJ$3;$H6;0)+SI($I$10=AJ$3;$I6;0)+SI($J$10=AJ$3;$J6;0)+SI($K$10=AJ$3;$K6;0)+SI($L$10=AJ$3;$L6;0)+SI($M$10=AJ$3;$M6;0)+SI($N$10=AJ$3;$N6;0)+SI($O$10=AJ$3;$O6;0)+SI($P$10=AJ$3;$P6;0)+SI($Q$10=AJ$3;$Q6;0)+SI($R$10=AJ$3;$R6;0)+SI($S$10=AJ$3;$S6;0)+SI($T$10=AJ$3;$T6;0)+SI($U$10=AJ$3;$U6;0)+SI($V$10=AJ$3;$V6;0)+SI($W$10=AJ$3;$W6;0)+SI($X$10=AJ$3;$X6;0)+SI($Y$10=AJ$3;$Y6;0)+SI($Z$10=AJ$3;$Z6;0)+SI($AA$10=AJ$3;$AA6;0)+SI($AB$10=AJ$3;$AB6;0)+SI($AC$10=AJ$3;$AC6;0)+SI($AD$10=AJ$3;$AD6;0)+SI($AE$10=AJ$3;$AE6;0)+SI($AF$10=AJ$3;$AF6;0)+SI($AG$10=AJ$3;$AG6;0)

Le problème c'est que je dois la modifier tous les SI pour chaque Client !!! de plus ça me donne le temps au moi et pas par jour !

Ce que j'ai besoin vraiment c'est sur la feuille Report, d'avoir par jour le temps de chaque préparatrice.

Pourriez vous m'aider?
 

Pièces jointes

  • Suivi production-test.xlsm
    34.4 KB · Affichages: 14
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @Nicolas Michel , le Forum

Ah là non non non, ne touche pas au 32 !!! (En fait c'est pour les 31 Jours du mois (avec décallage adéquat), ça n'a rien à voir avec le nombre d'opérateurs/trices !

Pour ajouter des Opérateurs, il n'y a rien à faire normalement si les deux tableaux sont bien synchronisés : (Il faut rentrer les Utilsateurs quand même !!!)

Tableau : Production Juin


Tableau : VBA Report



Si on a oublié Thierry dans VBA Report, et bien il ne le reportera pas !
Avec "Option Compare Text" que j'ai mis en Top de Module, par contre il trouvera THIE ou thier ou Thie ou tHiE etc ....

J'espère que c'est plus clair pour toi ?

Pour l'autre macro "de la premier page", je te laisse gérer, ca ne fait pas partie de mon algo.

Bien @toi, @vous,
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Nicolas Michel , le Forum

J'ai regardé, non ca n'a rien à voir avec la Ligne 44, je pense que c'est simplemennt que dans ton tableau tu as DEUX dénominations dictinctes pour la même chose :

  • Temps (heures décimales) (exemple Ligne 21 "Production Juin")
  • Temps en min (exemple Ligne 27 "Production Juin")
Il est clair que mon algo cherche la premère dénomination.... En l'état actuel du tableau fourni, Il ne "sait" pas ce que c'est "Temps en min" (ou alors il faudrait le spécifier aussi dans "VBA Report"... (Voir screenshot 2)

Sinon tu n'es pas limité en nombre de préparatrices.






Bonne journée
@+Thierry
 
Dernière édition:

Nicolas Michel

XLDnaute Nouveau
@thierry
désolé de t embêter encore mais serait il possible que quand on appui sur le bouton report ça n'efface pas les données déjà reportées ? c'est compliqué?
pour gagner du temps sur le report (c'est long avec toutes les données que j'ai ^^) et aussi en cas de modification manuel.

Merci.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Nicolas Michel , le Forum

Pour ceci :
désolé de t embêter encore mais serait il possible que quand on appui sur le bouton report ça n'efface pas les données déjà reportées ? c'est compliqué?

Tu mets ceci en commentaires :
VB:
With Ws
.Range("D1") = WsSource.Range("B2")
'''.Range("D2:AH460").ClearContents '<<<< RAZ Sheet VBA Report
End With

Pour :
(c'est long avec toutes les données que j'ai ^^)

Je ne sais pas combien tu traites de Clients et d'Opératrices au final mais en effet oui ca peut être long car il travaille directement sur les cellules, tout mettre en Tableau-Array Sequentiel Dynamique en mémoire serait bien plus rapide, mais vu que c'est en trois dimesnsions avec recherches Verticales et Horizontales, ca relève du défit, mais ca pourrait aller plus vite une fois développé (avec X journées de travail et de tests !)

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