Recopier une colonne toutes les X ligne ?!

LPhilou

XLDnaute Junior
Bonsoir nouveau problème j'ai regardé quelques solutions en Decaler etc sur le Forum mais je n'ai pas trouvé exactement comment faire pour mettre mon résultat dans une autre colonne toutes les X lignes :confused:

Ma problématique : Prendre des données d'une colonne et les recopier (du BAS vers le HAUT) dans une autre colonne mais toutes les X lignes, voir fichier ci joint pour l'exemple et les détails, merci et bon week end,

Salutations.
 

Pièces jointes

  • Exemple Merci V1.xlsx
    8.6 KB · Affichages: 37

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Recopier une colonne toutes les X ligne ?!

Bonjour LPhilou,

Copier la formule suivante en C22 et tirer/copier cette cellule vers le haut :
Code:
=SI(MOD(LIGNES(A$22:A22);2)=1;DECALER(A$22;-ENT((LIGNES(A$22:A22)-1)/2);0);"")

Copier la formule suivante en P22 et tirer/copier cette cellule vers le haut :
Code:
=SI(MOD(LIGNES(N$22:N22);4)=1;DECALER(N$22;-ENT((LIGNES(N$22:N22)-1)/4);0);"")
 

Pièces jointes

  • LPhilou-Exemple Merci-v1a.xlsx
    10.3 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Recopier une colonne toutes les X ligne ?!

Bonjour Lphilou, mapomme, le forum,

Je comprends que la dernière cellule en colonne A doit toujours être copiée, donc en C1 sur le fichier du post #1 :

Code:
=SI(OU(LIGNE()>EQUIV(9^9;A:A);MOD(EQUIV(9^9;A:A)-LIGNE();2));"";INDEX(A:A;EQUIV(9^9;A:A)-ENT((EQUIV(9^9;A:A)-LIGNE())/2)))
à tirer vers le bas.

Noter que le pas est 2 et non 3...

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Recopier une colonne toutes les X ligne ?!

Re,

S'il n'y a jamais de "trou" (cellule vide) en colonne A il vaut mieux utiliser :

Code:
=SI(ESTVIDE(A1)+MOD(NBVAL(A:A)-LIGNE();2);"";INDEX(A:A;NBVAL(A:A)-ENT((NBVAL(A:A)-LIGNE())/2)))
qui a l'avantage de fonctionner avec des nombres ou des textes en colonne A.

A+
 

job75

XLDnaute Barbatruc
Re : Recopier une colonne toutes les X ligne ?!

Re,

Pour peaufiner, petite simplification des formules des posts #3 et #5 :

Code:
=SI(OU(LIGNE()>EQUIV(9^9;A:A);MOD(EQUIV(9^9;A:A)-LIGNE();2));"";INDEX(A:A;(EQUIV(9^9;A:A)+LIGNE())/2))
Code:
=SI(ESTVIDE(A1)+MOD(NBVAL(A:A)-LIGNE();2);"";INDEX(A:A;(NBVAL(A:A)+LIGNE())/2))
Edit : j'explique quand même : ENT peut être enlevé puisqu'il y a le test SI...

A+
 
Dernière édition:

Discussions similaires

Réponses
34
Affichages
853

Membres actuellement en ligne

Statistiques des forums

Discussions
314 450
Messages
2 109 719
Membres
110 551
dernier inscrit
Khyolyanna