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

copie donnée sur condition

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

D

doice

Guest
Bonjour à tous,

j'ai cherché mais pas encore trouvé mais je fouille encore le forum en quète de solution.
Je cherche à copier les données de la colonne B dans un autre "sous tableau" en fonction de son indice donné en colonne A.
dans mon exemple, je n'ai mis que quelques indices mais sachez que mon tableau d'origine en compte près d'une quinzaine.
j'ai fait quelques essais mais infructueux pour le moment.

est-il possible de traiter mon petit problème sans macro ? sinon tant pis, je passerai par une macro.

merci de votre attention et de votre aide
 

Pièces jointes

Re : copie donnée sur condition

Bonjour.
Il est au moins déja possible de faire ça, sans macro, mais avec une colonne en plus:
en Q2:
Code:
=EQUIV(2;$A$2:$A$17;0)
à partir de Q3:
Code:
=EQUIV(2;DECALER($A$2;Q2;0;LIGNES($A$2:$A$17)-Q2;1);0)+Q2
et à coté, à partir de R2:
Code:
=SI(ESTNUM($Q2);INDEX($B$2:$B$17;$Q2);"")
Mais si j'étais un vrai formuliste cinglé, je vous aurais trouvé une solution sans colonne supplémentaire, mais pas forcément plus performante et certainement pas plus simple.
À +
 
Re : copie donnée sur condition

Re, bonjour Bernard,
je crois que j'ai compris :
Code:
=SI(LIGNES($1:1)<=NB.SI(A$2:A$17;2);INDEX(B$2:B$17;PETITE.VALEUR(SI(A$2:A$17=2;LIGNE(INDIRECT("1:"&LIGNES(B$2:B$17))));LIGNES($1:1)));"")
Formule matricielle à valider par Ctrl, Maj et entrée.
A+
 
Re : copie donnée sur condition

Bonjour à tous,

Voici ce que j'ai compris. Pas sûr du tout. Avec la liste des indices en L1.

Il me semble que doice, souhaite extraire en colonne G, tous les indices inférieurs à 17 sans doublons... Puis, tous les indices supérieurs à 16 seront extraits en colonne H.

Cependant je ne saisis pas que le mot grec ait deux indices différents.

"Aprés recherche, ma proposition ne conviendrait pas"

Bonne réception
 

Pièces jointes

Dernière édition:
Re : copie donnée sur condition

Oups! toute mes excuse en effet "grec" ne peut avoir qu'un seul indice.
afin d'être plus clair, j'ai repris mon tableau .

J'ai différentes pièces (listées en colonne B) et je souhaite les regrouper dans d'autres tableaux suivant leur étape dans le processus. je sais que je pourrais passer mar des filtres mais je cherches a avoir un aspect visuel direct de l'affichage de chaque poste de travail .Merci

Je m'excuse pour cette imprécision et je vous remercie pour vous être penchés sur mon problème. Je ne suis pas accoutumé au calcul matriciel mais je vais déjà regarder ce que vous m'avez si gentillement proposé

Encore merci
 

Pièces jointes

Re : copie donnée sur condition

Merci,

A tous

Dranreb, cela répond bien a ma demande, il me reste à l'adapter à ma configuration car comme je l'ai dit, j'ai 21 poste de travail à visualiser de cette façon.... voilà donc de quoi m'occuper,

David 84, merci de ta réponse mais je n'y pige rien au formule matricielle mais je crois bien que je vais devoir m'y coller .

Poulie, merci de ta réponse et mes excuses pour cette erreur dans mon tableau .


merci de t'être penché sur mon problème en ce dimanche

Bravo et mes excuses pour ce doublon dans la colonne B
 
Dernière modification par un modérateur:
Re : copie donnée sur condition

Si les colonnes supplémentaires ne gènent pas (on peut les masquer) il serait facile d'adapter mes formules pour que ça continue sur la colonne suivante quand la 1ère est pleine. Sinon je laisse David84 oeuvrer. Je suppose que pour la 2ième colonne ça commencerait par
=SI(LIGNES($1:1)+LIGNES(J$2:J$17)<=NB.SI(...
À +
 
Re : copie donnée sur condition

Re
Je suppose que pour la 2ième colonne ça commencerait par
=SI(LIGNES($1:1)+LIGNES(J$2:J$17)<=NB.SI(...
un simple
Code:
SI(LIGNES($1:17)<=NB.SI(A$2:A$17;2);...
suffit.
Ce qui donne :
en J2 la formule indiquée dans mon dernier message
en K2 :
Code:
=SI(LIGNES($1:17)<=NB.SI(A$2:A$17;2);INDEX(B$2:B$17;PETITE.VALEUR(SI(A$2:A$17=2;LIGNE(INDIRECT("1:"&LIGNES(B$2:B$17))));LIGNES($1:16)));"")
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
  • Question Question
Réponses
3
Affichages
115
regis6460
R
Réponses
5
Affichages
613
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…