Bonjour
Pour ceci :
« Le pourcentage de la ligne « 565 », pendant la période demande »
Tu ne pas répondu à mes propos sur ce sujet :
Pour le pourcentage la récupération de celui du premier jour est plus simple que de réaliser la somme de chacun de la période pour en établir la moyenne surtout si celle-ci est conséquente mais tout est faisable
Quelle option choisis tu ?
Pour la recopie des demandes par zone (fichier ExempleFichier Zone.xlsm onglet « Gestion des Absences » vers le fichier Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm onglet « a traité ») je me pose cette question :
comment enrichir un fichier qui est déjà ouvert ?
Tu dis :
« fichier principal « Organisation du personnel 22picks », (Ce fichier est ouvert et en ligne H24) dans la feuille « a traité ». »
Si celui-ci est occupé il ne peut être accessible donc on ne peut l’alimenter
Pour réaliser cette opération il doit être libre donc fermé pour être à nouveau ouvert et alimenté
Je reste perplexe
Tes procédures sont beaucoup trop lourdes (insertion ligne, copie des cellules sources vers les cellules cibles cellule par cellule chacune avec son propre traitement)
d’une procédure avec un grand maximum d’une dizaine de ligne pour arriver au même résultat tu en viens avec ta méthode à plus de 50 lignes d’instruction particulièrement gourmande en temps d’exécution
Je pense qu’il faut considérablement simplifier
Exemple macro bouton « A Traité » fichier « Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm » onglet « Gestion des Absences »
Ces lignes de code :
Sheets(« a traité »).Select
Range(« A2 »).Select
Selection.Copy
Sheets(« Gestion des Absences »).Select
Range(« A6 »).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Peuvent être remplacées par cette seule ligne de code :
Range(« A6 »).Value = Sheets(« a traité »).Range(« A2 »).Value
Pour un même résultat
1 ligne de code au lieu de 6 lignes
Et ce pour 19 blocs à l’identique pour différentes cellules qui doivent subirent le même sort
soit 54 lignes qui peuvent être réduites à 9 lignes de codes
A toi de voir mais pour moi il y a un sérieux ménage à réaliser de plus simplification de la procédure plus facile à faire vivre et un délais d’exécution qui ne s’en trouvera que mieux
Ce nettoyage est aussi à envisager pour le traitement du bouton « Envoyé » de l’onglet « Gestion des Absences » du fichier « ExempleFichier Zone.xlsm »
Autre question pourquoi intégrer les nouvelles données onglet « a traité » fichier « Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm » par le bouton « Envoyé » de l’onglet « Gestion des Absences » du fichier « ExempleFichier Zone.xlsm » en ligne 2 donc d’insérer à cette fin un ligne pour déplacer vers le bas toutes les autres et de ne pas plutôt utiliser dans la même dynamique la première ligne libre du bas de cet onglet cible ?
Peut être une bonne raison mais moins simple à mettre en oeuvre plus lourde de mon point de vue
Maintenant c’est toi qui décide
Merci pour toutes tes précisions