Bonjour,
Je ne suis pas un expert d'Excel, je m'en sers rarement, je n'ai jamais touché à une macro de ma vie.
Cependant, je dois réaliser un travail dans lequel j'ai plusieurs dizaines de milliers de données à traiter.
Mes données sont toutes sur la même feuille, regroupées par blocs.
Chaque bloc est séparé par 4 lignes sur lesquelles j'ai sur la cellule de l'une de ces lignes la moyenne des valeurs du bloc, sur celle en dessous l'écart-type, sur celle encore en dessous la borne supérieure, et celle encore en dessous la borne inférieure.
(Donc j'ai la moyenne, écart-type, borne + et borne - sur les 4 lignes qui séparent chacun de mes blocs)
Pour chaque bloc, je purifie les données dans une colonne juxtaposée de la façon suivante:
=SI(ET(N2<N$36;N2>N$37);N2;"")
N2 = la valeur en question sur la ligne 2
N$36 = borne + du bloc en question
N$37 = borne - du bloc en question
Autrement dit, je veux que pour chaque donnée, si celle-ci est en dehors des bornes, la case affichée soit vide.
Ce sont des blocs de 20 lignes, donc je fais glisser la première ligne sur les 19 suivantes et c'est bon (jusque là pas de problème).
Le problème, c'est que si je copie/colle les 20 cellules de mon premier bloc dans l'espace alloué au même traitement pour mon second bloc, le pointage des bornes se fait toujours sur N36 et N37 (les bornes du premier bloc), alors que je voudrais qu'il se fasse sur celles du 2ème bloc (qui se trouvent dans la 22ème et la 23ème ligne suivante).
En gros, je voudrais qu'à chaque copié/collé, il y ait un pointage des bornes qui se décale de 22 et 23 lignes à chaque fois).
Dans l'absolu, il me suffirait de changer manuellement dans la formule le numéro de ligne de chaque borne pour tous les blocs, mais il y a un nombre astronomique de blocs donc ça me prendrait un temps fou.
Auriez-vous une astuce accessible pour un profane d'Excel comme moi SVP?