Identifier série

Adriano43

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Me voilà confronté à un nouveau problème devant lequel j'ai le raisonnement sur papier mais n'arrive pas à le transcrire efficacement en VBA.
Concrétement, je souhaite que la macro recherche la valeur minimale de la colonne J pour les cellules "nombres non nulles" et me restitue par la suite la série des 5 plus petites valeurs rangées par ordre croissant en m'indiquant la valeur correspondante contenue en colonne K.

Ex: série en valeur 20;30;40;50;60 correspondant en colonne K à A,B,C,D,E
résultat à afficher par la macro : A - B - C - D - E
Ci-joint un fichier exemple

Cordialement

Adriano
 

Pièces jointes

  • Test.xlsx
    13.5 KB · Affichages: 41
  • Test.xlsx
    13.5 KB · Affichages: 47
  • Test.xlsx
    13.5 KB · Affichages: 45

Adriano43

XLDnaute Occasionnel
Re : Identifier série

Ok merci.
Et pour en revenir à mon 1er post, comment pourrez t'on incrémenter la valeur d'une ligne grise sa valeur dès lors qu'elle est dans la série.
Ex : Pour le fichier Test (3), le compte rendu donne:
C 69
D 97
A 112
E 145
B 300
Les chiffres sont une unité de mesure du temps. On comprend donc que 2C = 138, 2D = 194... et par conséquent le compte rendu des 5 valeurs doit être
C 69
D 97
A 112
C 138
E 145
D 194

En espérant avoir été clair, je pensais passer par une colonne intermédiaire, qui correspondrait à la valeur d'origine multipliée par la fréquence d'apparition dans la série... et la macro "compte rendu" s'appliquerait à cette colonne mais je ne suis pas capable de mettre cela en place en VBA... Je suis entrain de regarder pour comprendre votre macro ce qui sera déjà un grand progrès pour moi...

Merci d'avance

Adriano
 

Adriano43

XLDnaute Occasionnel
Re : Identifier série

Ok, merci de votre aide vous m'avez déja bien aidé.
Par contre, je ne vois pas dans le code où vous faites référence au fait que la ligne supérieure porte la lettre (quand on s'intéresse aux lignes surlignées...)
Et j'ai copié mes données dans votre "test 4", cela plante pourtant le nombre de colonnes est identique, est ce du au nombre de ligne, environ 200 pour le véritable fichier???
 

Efgé

XLDnaute Barbatruc
Re : Identifier série

RE
Une petite explication:
Dans
VB:
If .Cells(i, 17).Value > 0 And .Cells(i, 18).Value = "" Then _
D(.Cells(i, 17).Value) = .Cells(i - 1, 18).Value
On lit
Si la valeur de la cellule ligne i colonne 17 est suppérieur à 0 ET si la valeur de la ligne i colonne 18 est égale à rien alors _
La clé du dictionaire D est la valeur de la ligne i colonne 17 et l'item du dictionaire correspondant à cette clé est la valeur de la ligne i - 1 colonne 18.

d'où i - 1 est la ligne du dessus de la cellule vide en colonne 18
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : Identifier série

ReTout s'explique....J'ai décomposé les If / End If pour simplifier la lecture.Pas terrible des formules en erreur... Essai de te débrouiller autrement la prochaine fois ; )Cordialement
 

Pièces jointes

  • Test(5).xls
    75 KB · Affichages: 19
  • Test(5).xls
    75 KB · Affichages: 20
  • Test(5).xls
    75 KB · Affichages: 19

Adriano43

XLDnaute Occasionnel
Re : Identifier série

Re,

Voici le fichier le plus proche du réel avec les explications sur les zones de textes...
En tout cas un grand merci par avance de votre aide Efgé

Cordialement

Adriano43
 

Pièces jointes

  • Test(6).xlsm
    50.8 KB · Affichages: 30

Discussions similaires

Statistiques des forums

Discussions
312 896
Messages
2 093 388
Membres
105 716
dernier inscrit
jrmdprt