XL 2013 afficher les lignes suivant le mois

  • Initiateur de la discussion Initiateur de la discussion bruno972
  • Date de début Date de début

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 !

bruno972

XLDnaute Junior
Bonjour,

j'ai parcouru le forum sans avoir trouvé une réponse sauf en VBA mais je suis très mauvais.

voilà mon besoin:

Sur chaque onglet de mois doit apparaitre uniquement les lignes qui corresponde à la fréquence de l'onglet "base".

Puis qu'a chaque modification sur l'onglet base, la mise à jour se fasse sur l'ensemble des onglets mois.

Merci d'avance pour vos propositions.

Cordialement
 

Pièces jointes

Bonjour et merci à vous deux pour votre réponse rapide. les 2 propositions font le job recherche.

est-il possible lorsque l'on supprimer un N°MAO sur l'onglet Base que la ligne entière disparaisse sur le mois concerné.

Daniel peux-tu m'expliquer ta formule afin que je comprenne le principe.

merci encore et bon Week-end

Bruno
 
Bonjour à tous,

Volontiers. Pour extraire le nom de la feuille, j'utilise :
VB:
CELLULE("nomfichier";$A$1)
qui renvoiele chemin du fichier, le nom du fichier et celui de la feuille :
"d:\Users\dcola\Downloads\[suivi du prév.xlsx]Janvier""
Pour extraire "Janvier", je cherche la position de "]" :
Code:
CHERCHE("]";CELLULE("nomfichier";$A$1))
qui renvoie 45. J'ajoute 1 pour avoir la position de "J" et j'utilise STXT pour extraire le nom de la feuille ( le nom de l'onglet ne peut dépasser 31 caractères) :
Code:
STXT(CELLULE("nomfichier";$A$1);CHERCHE("]";CELLULE("nomfichier";$A$1))+1;31)
Je cherche ensuite la colonne correspondante dans la plage B3:M3 de "Base" :
Code:
EQUIV(STXT(CELLULE("nomfichier";$A$1);CHERCHE("]";CELLULE("nomfichier";$A$1))+1;31);Base!$B$3:$M$3;0)
qui renvoie 1 pour Janvier.
La fonction DECALER me permet de sélectionner B4:B20 de Base :
Code:
DECALER(Base!$A$4:$A$20;;EQUIV(STXT(CELLULE("nomfichier";$A$1);CHERCHE("]";CELLULE("nomfichier";$A$1))+1;31);Base!$B$3:$M$3;0))
Soit :
{"x";"x";"x";"x";0;0;0;0;0;0;0;0;0;0;0;0;0}
La fonction AGREGAT avec les paramètres 15 et 6 correspond à PETITE.VALEUR en ignorant les valeurs d'erreur.
Code:
LIGNE($1:$20)/(DECALER(Base!$A$4:$A$20;;EQUIV(STXT(CELLULE("nomfichier";$A$1);CHERCHE("]";CELLULE("nomfichier";$A$1))+1;31);Base!$B$3:$M$3;0))="x")

renvoie le numéro des lignes contenant "x" et "#DIV/0!" pour les autres ( :
{1;2;3;4;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}
Les valeurs d'erreur étant ignorées, j'obtiens les numéros de ligne des cellules contenant "x". Ensuite avec INDEX, je récupère les valeurs de la colonne A correspondant à ces lignes.

Daniel
 
- 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

  • Question Question
Microsoft 365 macro vba sumifs
Réponses
5
Affichages
629
Retour