Trier colonne + Obtenir le rang

Bonjour à tous,

J'effectue actuellement un stage dans le cadre de mes études et je dois beaucoup travailler sur excel et par conséquent utiliser le VBA. Le problème c'est que je suis totalement novice en VBA donc je rencontre pas mal de problème lors de l'écriture de mon code.

Je vous joins une partie du fichier sur lequel je travaille en ce moment. Le fichier original contient 1700 lignes et 170 colonnes mais je suppose que ça ne change pas grand chose.

J'aimerais en fait trier toute mes colonnes, compter le nombre de cellule qui contiennent un chiffre et enfin utiliser la fonction rang pour classer toute mes colonnes.

J'ai essayé tant bien que mal mais je cale complètement.... je suppose qu'il y a un problème avec certain de mes arguments mais impossible d'y remédier!

Pouvez vous m'aider svp?

Merci d'avance,

Marlow

13test-1.xlsm (20.25 Ko)

Bonjour marlow le forum

bon alors ton fichier il faut en faire quoi???

Tu dis dans la macro classer par ordre décroissant les colonnes de 16 à 30

et dans la plage tu indiques de A1 à AD15 !!!!!!

alors deux choses tu veux en décroissant quelle colonne?? car si ta plage c'est a1 à AD15 tu n'auras pas obligation qu'une seule colonne en ordre décroissant toutes les autres seront liées oui ou non ???

ou alors tu veux quoi d'autre??????????

et le second point tu veux chercher des valeurs dans les colonnes oui lesquelles???

Voilà dans un premier temps une réponse et on avancera

a+

papou

Bonjour paritec,

Comme je le disais précédemment je voudrais trier les colonnes 16 à 30 par ordre décroissant ( de la colonne P à la colonne AD)

Néanmoins je sélectionne la plage A1:AD15 car en colonne A il y a des références et j'aimerais donc que mes colonnes 16 à 30 soit classé tout en respectant la référence en colonne A.

Dans un deuxième temps j'aimerais utiliser la fonction count (NB en français je pense) afin de calculer le nombre de cellule non vide, car chaque colonne possède un nombre différent de données. Par exemple la colonne P possède 14 données, la colonne R en possède 13, la colonne V en possède 11 ect ect... Je ne souhaite pas chercher une valeur mais juste compter le nombre de valeur dans chaque colonne.

J'espère avoir été plus clair,

Bien à toi,

Marlow

Bonsoir,

Une idée de ce l'on peut faire, mais dans un flou artistique

Cdlt

24test-1.xlsm (27.59 Ko)

Bonsoir Marlow le forum

Hélas tu ne lis pas les Réponses c'est dommage

Tu veux que les colonnes soient liées toutes à la Colonne A , mais il est évident que tu classeras dans ce cas UNE SEULE COLONNE et pas les colonnes de 16 à 30 en ordre décroissant cela c'est sur, je n'ai même pas regardé la proposition de Jean Eric , mais c'est certain

que tu ne peux pas avoir toutes les colonnes en décroissant de la 16 à la 30 avec en plus un rapport avec la colonne A ou alors en faisant autant de classement que de colonne dans une boucle mais là , je ne vois pas trop l'intérêt.

Pour le nombre de cellules remplies c'est pas un souci mais tu veux le résultat ou????? sur une autre feuille? en bas de chaque colonne ???

Avec toi c'est assez simple il faut toujours deviner tout, alors explique clairement le résultat souhaité, au besoin si tu ne sais pas expliquer, tu fais une feuille Résultat avec ce que tu souhaites obtenir comme résultat et on va te le faire sans soucis

a+

Papou

Bonjour Paritec,

Premièrement, je suis vraiment désolé pour les piètres explications que je vous donne, je suis totalement perdu en VBA donc je n'arrive pas bien à décrire ce dont j'ai besoin.

Je viens de faire un petit fichier avec un exemple de ce que j'aimerais comme réponse.

Comme tu peux le voir, j'aimerais que toute mes colonnes soient classes par ordre décroissant sur la même feuille à droite de mes données et que en bas de chaque colonne il y ait deux lignes de vides avant d'afficher le nombre de cellules non vides. Comme tu peux le voir, je n'ai pas vraiment besoin que la référence soit recopié pour chaque colonne mais chaque classement doit néanmoins respecter les références en colonne A. Je veux dire par la que si je sélectionne seulement la colonne a trier et que je la trie (disons la colonne P), les données ne seront plus en accord avec les références donc au moment de trier la prochaine colonne(colonne Q) les données auront la mauvaise référence et non plus la référence de base

Je crois comprendre ce que tu essaies de me dire. En fait si je comprend bien je vais devoir travailler chaque colonne les une après les autres pour arriver a un tel résultat. C'est donc impossible de toute les trier d'un coup en respectant les références.

J'espère avoir été un peu plus clair!

Si vous avez besoin d'autres informations, n'hésitez pas à me le faire savoir, j'essayerai de répondre du mieux possible

Bien à toi,

Marlow

12test-1.xlsm (19.93 Ko)

Re bonjour Marlow le forum

à la lecture de ta réponse il semble que tu aies compris, je vais,aller voir ton fichier

a+

Papou

Re Marlow le forum

bon alors voilà ce que tu voulais, en dispatché puisque à chaque classement correspond une réponse

a+

Papou

16marlow-v2.xlsm (25.50 Ko)

Bonjour Paritec,

Tout d'abord, je voulais te remercier pour ton aide, c'est vraiment sympa d'aider les débutants comme moi!

Je viens de jeter un coup à ta réponse et ça ressemble fortement à ce que j'attends.

Néanmoins, deux petites choses ne conviennent pas. La première n'est qu'un petit détail. En fait, il serait préférable si la colonne "country code" n'apparait pas dans la réponse.

Le deuxième problème quant à lui est plus conséquent. En fait tu as réussi a classé toute les colonnes par ordre décroissant (ça c'est parfait) par contre la colonne avec les référence restent inchangée pour tout les résultats. Je voudrais en fait que le numéro de référence correspondent à celui de la base de données. Je t'ai mis un exemple avec les intitulés de colonnes en couleur verte pour que tu puisses comprendre de quoi je parle.

Est- il possible d'écrire cela en VBA?

Merci beaucoup ton aide,

Bien à toi,

Marlow

7marlow-v2.xlsm (28.50 Ko)

Bonjour Marlow le forum

Avant de dire des grosses bêtises, as-tu seulement vérifier tes affirmations???

Alors moi je te dis non. Si la colonne A est identique dans deux classements c'est que le classement des colonnes V mois année est identique.

Mais une certitude si tu regardes la V12_1998 et V01_1999 et que tu compares les deux colonnes Zéro si la liste est la même pour toi alors là il te faut changer de lunette ou m'expliquer ce que veux dire identique, car pour moi elle est différente.

Elles sont d'ailleurs Toutes différentes les colonnes 0 , je viens de le contrôler, alors je ne comprend pas tes remarques injustifiées

Ton fichier avec ta modification souhaitée

a+

Papou

21marlow-v4.xlsm (25.68 Ko)

Re Marlow le forum

ou alors pour toi, une liste identique c'est une liste qui laisse les éléments avec une valeur vide?

si tel est le cas alors voilà la modification, mais en ce qui concerne l'ordre il sera le même puisqu'il est directement lié à la colonne V mois et année

a+

Papou

3marlow-v5.xlsm (25.71 Ko)

Salut Paritec,

Effectivement il faut que je change de lunettes... les références ne sont pas dans le même ordre pour chaque colonne . J'ai crié au loup trop vite, excuse moi !!!

Néanmoins, certaines références ne correspondent plus a leur référence de base.

Je prends comme exemple la colonne V12_1998, le chiffre -0.8321839 a comme référence de base 478. Pourtant dans la réponse proposée sa référence devient 8313, donc je pense qu'il y a un problème quelque part. C est la même chose avec le chiffre -0.73466718 de la colonne V12_1998, sa référence de base est 7927 alors que dans la réponse elle devient 478.

Est il possible de résoudre ce petit problème.

Bien à toi,

Marlow

Bonjour Marlow le forum

je vais vérifier et je te redirai, par contre tu n'as même pas téléchargé la dernière version !!!!

a+

papou

Re Paritec,

Merci beaucoup pour ton aide!

Il me semble que j'ai déjà téléchargé la dernière version du fichier, c'est-à-dire Marlow V4.

Y a-t-il une version plus récente car si oui je ne l'ai pas vu et ne la voit toujours pas.

Bien à toi,

Marlow

Re Marlow le forum

oui il y en a eu deux depuis mais bon voilà la dernière que j'ai oublié de joindre à mon post précédent

a+

papou

7marlow-v6.xlsm (26.18 Ko)

Re Paritec,

C'est exactement ce que je cherchais. Merci beaucoup !!!

Désolé de ne répondre seulement maintenant, j'ai été malade toute la semaine passée je n'étais donc pas au bureau.

Rechercher des sujets similaires à "trier colonne obtenir rang"