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

Microsoft 365 Recherche sur plusieurs Feuilles

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lcouaci

XLDnaute Occasionnel
Bonsoir le forum,

j'ai un projet qui me taraude l'esprit depuis peu:
En effet,
je souhaite insérer un bouton recherche sur mon planning ci-dessous pour retrouver mes salle vide.
ma feuille regroupe 5 feuilles: avec des lignes et colonnes
ligne A= M1====> S5
colonne B= Salle 1====> S.SVT3 en AH
les feuilles nommées Lundi à VENDREDI

Mon projet c'est d'insérer un bouton recherche sur chaque feuille ou ailleurs, afin de visualiser soit les salle (vides ou occuper) seulement en inscrivant la ligne.
ici la ligne M1
 

Pièces jointes

Solution
bonsoir,
Il faut garder le premier fichier (post #1) pas le dernier que tu a envoyé.

(Je viens de corriger mon fichier, il y avait des erreurs) Si le fichier source EDTGlobSalle est modifié, il faut d'abord l'enregistrer et ensuite utiliser le fichier en pièce jointe EDTGlobSalle V3

bonne nuit
Bonjour à toutes & à tous, bonjour @Icouaci

Puisque tu as EXCEL365 une proposition avec
  • une feuille "Tables" (Listes des jours, des périodes (M1, S1 ...) et des salles)
  • 7 noms définis
  • 4 formules sur la feuille "Occupation des salles" :
  • des formats conditionnels

  • Liste des salles en C1 :
    VB:
     =TRANSPOSE(Ts_Salles)
  • Liste des jours en A2 :
    VB:
    =FRACTIONNER.TEXTE(JOINDRE.TEXTE("";VRAI;BYROW(Ts_Jours;LAMBDA(j;REPT(j&";";LIGNES(CHOISIR(EQUIV(j;Ts_Jours;0);_PlgLundi;_PlgMardi;_PlgMercredi;_PlgJeudi;_PlgVendredi))))));;";";VRAI)
  • Liste des périodes de la journée en B2 :
    VB:
    =ASSEMB.V(DECALER(_PlgLundi;0;-1;;1);DECALER(_PlgMardi;0;-1;;1);DECALER(_PlgMercredi;0;-1;;1);DECALER(_PlgJeudi;0;-1;;1);DECALER(_PlgVendredi;0;-1;;1))
  • Occupation des salles pour la période en C2 :
    VB:
    =INDEX(CHOISIR(EQUIV(A2#;Ts_Jours;0);_PlgLundi;_PlgMardi;_PlgMercredi;_PlgJeudi;_PlgVendredi);EQUIV($B2#;Ts_Périodes;1);EQUIV(C1#;Ts_Salles;0))

Voir le fichier joint

Ps j'ai vu un peu tard que tu avais utilisé des tableaux structurés pour les feuilles "LUNDI", "MARDI" etc, 🙄 de ce fait je ne les ai pas exploités mais j'ai créé des nom définis qui couvre les plages de données de ces feuilles !

À bientôt
 

Pièces jointes

Aussi je viens de m'en rendre compte : vous vous êtes trompés de données pour vendredi. vous avez simplement repris les données de lundi. Le souci j'ai essayé de corriger tout le tableau s'est effacé !
 

Pièces jointes

Dernière édition:
Mais c'est le cas....
Essaye de faire une modif d'occupation de salle, elle sera prise en compte dans l'onglet que j'ai ajouté....
 
Bonsoir Icouaci,
J'ai commencé dans ton fichier mais il comporte déjà des éléments power query et lorsque j'actualise j'ai des messages d'erreurs, si tu n'a pas besoin de de ces éléments c'est faisable, dis moi.

L'insertion du chemin est très simple il suffit de sélectionner le fichier dans l'explorateur avec le click droit en ayant auparavant la touche shift enfoncée et la le menu propose ensuite il faut coller dans la cellule A3, au lieu d'appuyer sur le bouton tu peut actualiser tout

 
Bonsoir à tous
Un essai avec Power Query

Cdt
Bonsoir à Tous,

Merci de votre proposition,

Mais, Je viens de l'essayer. J’aurais aimé que cela fonctionne, mais il persiste un problème avec l’actualisation.
J’ai supprimé une donnée dans mon ancien fichier Excel repris le chemin comme vous me l'avez recommandé.
mais après l’actualisation, Power Query ne prend pas en compte mon changement, comme si aucune modification n’avait été faite.
Pourriez-vous m’aider à résoudre ce souci ?

SINON TRÈS INTÉRESSANT !!
 
bonsoir,
Il faut garder le premier fichier (post #1) pas le dernier que tu a envoyé.

(Je viens de corriger mon fichier, il y avait des erreurs) Si le fichier source EDTGlobSalle est modifié, il faut d'abord l'enregistrer et ensuite utiliser le fichier en pièce jointe EDTGlobSalle V3

bonne nuit
 

Pièces jointes

Bonsoir,

SUPPER ça marche !

Merci Beaucoup et douce nuit !
 
Bonjour à toutes & à tous
Bonjour @icouaci
Bon pour ne pas rester sur un échec te te propose une autre formule beaucoup plus simple et qui à l'air de fonctionner.
La formule
=INDEX(CHOISIR(EQUIV(A2#;Ts_Jours;0);_PlgLundi;_PlgMardi;_PlgMercredi;_PlgJeudi;_PlgVendredi);EQUIV($B2#;Ts_Périodes;1);EQUIV(C1#;Ts_Salles;0))
ne fonctionne pas parce que apparemment la fonction CHOISIR ne supporte pas les formules matricielles dynamiques (elle reste bloquée sur la première valeur renvoyer par EQUIV(A2#;Ts_Jours;0) qui est 1 et donc on récupère toujours les valeurs du LUNDI !

Beaucoup plus simple la formule :
VB:
=ASSEMB.V(_PlgLundi;_PlgMardi;_PlgMercredi;_PlgJeudi;_PlgVendredi)
concatène les 5 plages des 5 jours et renvoie les données attendue

Voilà voir le fichier joint
À bientôt
 

Pièces jointes

Bonjour à tous, bonjour AtTheOne,

Merci beaucoup pour le coup de main.
Apparemment le problème demeure. J'ai supprimé M1 de Lundi mais la feuille "table" ne prend pas en compte.
Quel est le lien de "table" avec les autres.

Ce projet, je pense me convient avec la résolution de OKBI.
Merci d'avoir essayé avec moi.

Merci au Forum, merci AtTheOne, et bonne journée !
 
Bonjour,

Pour le fun, solution en une formule sur une nouvelle feuille :

VB:
=LET(tbl;ASSEMB.H(REDUCE("";SEQUENCE(50);LAMBDA(y;x;ASSEMB.V(y;SI(x<11;"LUNDI";SI(x<21;"MARDI";SI(x<31;"MERCREDI";SI(x<41;"JEUDI";SI(x<51;"VENDREDI"))))))));ASSEMB.V(ASSEMB.H("";LUNDI[@[Column2]:[Colonne18]]);ASSEMB.V('LUNDI:VENDREDI'!A2:AH11)));SUBSTITUE(tbl;0;""))

Daniel
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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