Extraction groupes de numéros selon conditions

biafox

XLDnaute Nouveau
Bonjour le Forum !

Je viens vers vous, car j’aurais besoin d’aide pour créer une macro dont la fonction serait d’extraire des groupes de numéros répondant à une condition.

J’ai un ensemble de colonnes composées de cellules dans lesquelles se trouvent des données.
Dans l’exemple ci-joint, nous avons 8 colonnes qui commencent en K et se terminent à la cellule END. ( Dans la pratique, il y aura environ une centaine de colonnes. )
Dans les cellules 4 à 11 ( A, B, C, D,E , F, G, H ), on rentre des chiffres parmi ceux qui figurent sur la colonne…pour savoir dans quelle position ils se trouvent. Le but est de chercher la position d’un à huit chiffres sur l’ensemble de la colonne.

A partir de K14, nous avons les positions des différents chiffres ( P1…P2..P3…P220).

Ce que je cherche à faire c’est d’associer les positions (P1…P2..P3…P4…P5…jusqu’à P220 ) 4 par 4 et de vérifier sur l’ensemble des colonnes de la même position si certaines conditions sont remplies et si c’est le cas, transférer les chiffres des positions correspondantes de la colonne K dans l’onglet LISTE DES GROUPES.

Exemple :

Prendre le groupe P1-P2-P3-P4 et vérifier sur chaque colonne, combien de numéros figurent en position A, B, C, D, E, F, G, H et ceci jusqu’à la dernière colonne existante ( la cellule END détermine la fin des colonnes).
Si l’on a 0 numéro chaque fois correspondant, on envoie les numéros de la colonne K correspondant aux 4 positions dans l’onglet LISTE DES GROUPES dans la rubrique Groupe 4 par 4 à ETAT 0
Si l’on a 1 numéro chaque fois correspondant dans toutes les colonnes, on envoie les numéros de la colonne K correspondant aux 4 positions dans l’onglet LISTE DES GROUPES dans la rubrique Groupe 4 par 4 à ETAT 1
Si l’on a 2 numéros correspondant, on envoie dans la rubrique correspondante de l’onglet LISTE DES GROUPES
Si l’on a 3 numéros correspondant, on envoie dans la rubrique correspondante de l’onglet LISTE DES GROUPES
Si l’on a 4 numéros…..on fait pareil.
Ensuite on vérifie la position P1 P2 P3 et P5

On fait pareil

LE but est de balayer toutes les positions.

Une fois que l’on arrive à la position P1-P2-P3-P220, on recommence avec P2-P3-P4 et P5 puis P6…P7…P220 et on recommence avec P3-P4 -P5 et P6 ainsi de suite.

Si l’on a pas le même état dans chacune des colonnes existantes, on ne retient pas le groupe de numéro de la colonne K, comme dans l’exemple ci après :

28/08/2012 09/08/2012 07/08/2012 07/08/2012 01/08/2012 01/08/2012 1/82012 01/08/2012
Tab8 Tab7 Tab6 Tab5 Tab4 Tab3 Tab2 Tab1
Cat B Cat B Cat B Cat B Cat A Cat A Cat A Cat A
A x x 11 6 8 x 18
B 16 9 x x x 10 10
C x x 6 5 4 13 x
D 7 3 8 x 15 x x
E x 8 x 3 x 2 x
F 11 x x x x x 2
G x 9 10 1 x 18 x
H 17 x x x 10 x 13

A1 A1 A1 A1 A1 A1 A1 A1
P1 13 17 8 7 3 11 12 12
P2 7 4 3 17 1 8 8 8
P3 12 19 20 6 4 5 18 18
P4 17 18 13 14 6 15 2 2

Le premier groupe P1-P2-P3-P4 aurait comme état : 1-2-1-3-2-2 et 2
On a pas le même état dans chacune des colonnes, donc le groupe de numéros 13-7-12-17 de la colonne K correspondant aux positions P1-P2-P3-P4, ne sera pas retenu puisqu’elle ne correspond à aucun état que l’on cherche dans l’onglet LISTE DES GROUPES.

J’espère ne pas avoir été confus dans les explications et serait particulièrement heureux d’avoir de l’aide.
Merci d’avance.
 

Pièces jointes

  • EXTRACTION.xlsx
    27.2 KB · Affichages: 48
  • EXTRACTION.xlsx
    27.2 KB · Affichages: 57
  • EXTRACTION.xlsx
    27.2 KB · Affichages: 52
Haut Bas