fonction index equiv

  • Initiateur de la discussion Initiateur de la discussion claude09
  • 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 !

claude09

XLDnaute Occasionnel
bonjour et bonne fin de semaine.
Je récupère colonne E des données via une macro, séparées par la cellule Rang.Ces données changent tous les jours;je peux avoir 5 ou 20 ou 40 donneés par Rang.
Serait il possible de ne garder que 30 valeurs par rang,et laisser un blanc s'il n'y a pas 30 valeurs de façon a ce que les récupérations tombent toujours au même endroit ?
J'ai bien essayé index et equiv ,mais çà ne fonctionne pas.
Merci de vos réponses.
Ci joint un fichier exemple.
 

Pièces jointes

Re : fonction index equiv

Bonjour.Ci joint une autre fichier pour plus de compréhension.
Une macro récupère des données en colonne K qui sont spécifiques aux N°(1;2;3 etc).Ces données pour chaque n° sont différentes(pas le même nombre).Et en colonne N ,le résultat souhaité(si c'est possible).Càd,prendre que les 30 valeurs de chaque n° et laisser un blanc s'il n' y a pas 30 valeurs.En colonne N,j'ai colorié les correspondances entre n° colonnes K et N.
Merci.
 

Pièces jointes

Re : fonction index equiv

Bonjour

Une possibilité "lourdote" en pièce jointe. Pour le moment, les noms sont définis pour 1000 lignes, mais on peut, soit modifier ce nombre, soit mettre des plages dynamiques utilisant le nombre en 01. A vérifier donc et à adapter.

@ plus
 

Pièces jointes

Dernière édition:
Re : fonction index equiv

Bonjour.Celà a l'air de fonctionner, le seul reproche, c'est un peu lourd quand il calcule,mais c'est parfait!
Il faut tirer les formules vers le bas a chaque récupération ?
Encore merci et je vous souhaite une bonne journée.
 
Re : fonction index equiv

Bonsoir

Pour voir les formules définissant les noms plagerang et plageàtransmettre, il faut aller dans "Formules", "Gestionnaire de noms".

palgerang donne
Code:
=SI(Feuil1!$K$8:$K1000="Rang";LIGNE(Feuil1!$8:$1000))
et liste donc le n° des lignes contenant le mot Rang en colonne K, ce qui donne quelque chose du genre {8;FAUX;FAUX;FAUX;..........;35;FAUX;FAUX.......}

En O9, plageàtransmettre donne la
Code:
=DECALER($K$1;PETITE.VALEUR(plagerang;NB.SI($O$7:$O8;"Rang"))-1;;SIERREUR(PETITE.VALEUR(plagerang;NB.SI($O$7:$O8;"Rang")+1);EQUIV(9^9;$K$1:$K$1000;1)+1)-PETITE.VALEUR(plagerang;NB.SI($O$7:$O8;"Rang")))
, ce qui "isole" la plage de la colonne K à recopier dans la colonne O.

Pour le voir, clique sur une cellule de la colonne O, puis --> "Formule" --> "Gestionnaire de noms" -->"Plageàtransmettre", puis clique sur la formule dans le bas de la fenêtre "Gestionnaire de noms" définissant ce nom. Un cadre en pointillés entourera la plage correspondante de la colonne K devant être transposée dans la colonne O. Clique ensuite sur une autre cellule de la colonne O, beaucoup plus bas, et tu verras que les pointillés entourent une autre plage sur la colonne K.

Il faut effectivement, soit tirer la formule en colonne O vers le bas, soit le faire tout de suite pour un grand nombre de lignes. S'il y a des "fin" en bas de cette colonne, c'est que tu as tiré la formule assez vers le bas, sinon, il faut la copier-coller davantage vers le bas.
Il est possible que cela mette du temps. Si je trouve des formules plus courtes ou plus simples, je les posterai. Avec une macro, cela irait certainement plus vite, mais je ne sais pas le faire.

@ plus
 
Dernière édition:
- 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

Réponses
6
Affichages
1 K
Retour