XL 2010 passer une formule à une macro

creolia

XLDnaute Impliqué
bonjour à tous ce week end je vous sollicite pas mal mais je touche le bout de mon projet et certain petit soucis se fait sentir.

je recherche à adapter une formule à une macro depuis un moment mais je m'en sort pas vraiment

cette formule compare la base de donnée de la feuille dispo et celui de la feuille parametre et copie dans la feuille filtre dés que ces deux condition sont réunie voir ci dessous la formule en A1
Code:
=SIERREUR(INDEX(Parametre!J$2:J$370;PETITE.VALEUR(SI(NB.SI('[Copie de pompier trie le bon6.xlsm]Dispo'!$B$3:$B$35;Parametre!J$2:J$370)>0;LIGNE(Parametre!J$2:J$370)-1);LIGNES($1:1)));"")

comment pourais je faire svp merci
 

Pièces jointes

  • planning.xlsm
    621.9 KB · Affichages: 64

Modeste

XLDnaute Barbatruc
Bonsoir creolia,

Une tripotée de formules matricielles, c'est clair que ça risque de ramer ... Une macro pourrait avoir comme avantage de ne se calculer qu'une fois (ou à la demande). Cependant, je me posais une question (et comme il n'y a pas d'autres propositions, ça ne mange pas de pain :rolleyes:): pourquoi calculer pour le mois entier? Tu ne peux pas choisir une date et n'afficher que les infos de cette date précise (une fois le 3 septembre, une fois le 18, etc.)? Ça allégerait considérablement le classeur et le temps de calcul, me semble-t-il ...
 

creolia

XLDnaute Impliqué
en fait je sait pas trop car j'ai eu que ces formules et les risque d'effacer les formule c'est pour sa j'ai fait cette demande car je souhaiterais un resultat à la demande via macro mais tous un coup en fait car quand j'importe le planning c'est pour le mois entier pourais tu m'aider svp
 

Modeste

XLDnaute Barbatruc
Bonsoir creolia,

Je ne sais pas de quoi tu parles quand tu dis que tu dois garder la liste comme elle est? Si je propose un jour à la fois et que tu dis être intéressé, je dépose donc un fichier. Si vraiment tu es prêt à te retrousser les manches, tu devrais pouvoir adapter cette macro pour ton mois entier ... à toi de voir!

J'ai modifié la date en A1 de la feuille Dispo (c'était du texte!)

En A1 de la feuille Filtre, une liste déroulante affiche les dates. La source de la validation est une plage nommée en feuille Paramètres, colonne O. Elle se met à jour sur base des dates de la feuille Dispo.
J'ai aussi nommé les plages des colonnes J à M de la feuille Paramètre (pour ces 4 là, contrairement à la plage des dates, je n'ai pas rendu les plages dynamiques ... Tu verras si c'est nécessaire).

Je n'ai pas cherché à comprendre la logique des noms qui reviennent dans plusieurs colonnes pour la même journée: me suis contenté de donner les mêmes résultats que les formules. Je te laisse le soin de vérifier s'il n'y aurait pas des cas particuliers à gérer :rolleyes: et si les résultats sont corrects.
La macro est dans la fenêtre de code de la feuille Filtre, puisque liée à l'événement Worksheet_Change ... C'est le changement de contenu en A1 qui en déclenche l'exécution.

Tu es au courant que tu as une ribambelle de boutons avec une hauteur réduite à zéro dans toutes les colonnes de B jusqu'à CL (si j'ai bien vu!) de la feuille Dispo (juste sur la bordure sous les mentions "Matin", "Soir", etc.) :confused: Je les ai supprimés dans cette version du fichier dont ils augmentaient inutilement la taille.
 

Pièces jointes

  • planning (creolia).xlsm
    88.1 KB · Affichages: 44

creolia

XLDnaute Impliqué
Bonjour modeste j'a essayer ta macro c'est une trés bonne base pour faire ce que je souhaite pour info c'est normal que les noms revienne x fois car un agent peut avoir plusieurs fonction qui peu le plus peu le moins.

en revanche je peut te demander comment remplacer "Target" par une cellule car j'ai essayer au lieux que ce soir par enlèvement worksheet change dans un module classique executable par un bouton sa m'aiderais pour reconstituer ma liste et mieux comprendre la macro merci d'avance
 

Modeste

XLDnaute Barbatruc
Bonjour,

Target représente la cellule qui a été modifiée en feuille Filtre (A1, dans le fichier adressé hier) ... tu peux donc mettre n'importe quelle autre cellule à la place!?

Tu noteras aussi que tu pourrais enregistrer ton classeur avec sa batterie de formules comme modèle de document (on n'ouvrirait donc chaque fois qu'une copie de ce modèle et on préserverait les formules). Une fois les formules recalculées et les données correctes affichées, il te resterait à faire un copier - collage spécial par valeurs sans changer l'emplacement. En cas de problème, ton modèle contient toujours les formules et le nouveau classeur généré ne met plus des plombes à se recalculer (puisqu'il n'y a plus de formules, dans celui-là).
 

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Suggestion en passant.
Tu noteras aussi que tu pourrais enregistrer ton classeur avec sa batterie de formules comme modèle de document (on n'ouvrirait donc chaque fois qu'une copie de ce modèle et on préserverait les formules). Une fois les formules recalculées et les données correctes affichées, il te resterait à faire un copier - collage spécial par valeurs sans changer l'emplacement.
Dans la même veine que Modeste, je suggère alors un enregistrement en PDF
(ce qui évite le copier/coller valeur spéciales)
 
Dernière édition:

creolia

XLDnaute Impliqué
Bonjour à vous et merci pour vos informations et aide la macro de modeste me conviens parfaitement car je veux m'affranchir de ses formules pas tant pour le temps de calcule mais des erreurs éventuelle je vais juste tenter de l'adapter pour le faire sur chaque jours car en fait il me faut une vision des 31 jours pour pouvoir creer mon planning final avec mon personnelle (Respect des 24hde repos ect...) c'est pour sa faut que j'ai une liste visuel du mois entier.
 

Discussions similaires

Réponses
14
Affichages
413
Réponses
8
Affichages
657

Statistiques des forums

Discussions
314 017
Messages
2 104 582
Membres
109 083
dernier inscrit
Stef06