Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1473 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel : Fonction? Programmation ? Macro ? Help me Please !!!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel : Fonction? Programmation ? Macro ? Help me Please !!!!

n°1322670
prashanth
Posté le 10-03-2006 à 12:18:57  profilanswer
 

Bonjour,
 
Pour faire court, j'ai sous un fichier EXCEL plusieurs feuillet avec la même strcture :
 
http://prashanth3.free.fr/test.jpg
 
Je souhaiterais que la colone "Priorité" soit rempli automatiquement avec les chiffres 1 à 4 selon le plus grand nombre dans la colonne "valeurs".
ex: ici, il faudrait que les cases de la colonne "priorité" soit remplies automatiquement comme ci-dessous :
 
http://prashanth3.free.fr/test2.jpg
 
Note : A savoir que les autres feuilles n'ont pas forcement que 4 valeurs; ils peuvent en avoir plus ou moins. Il me faut donc une solution pour classer ces valeurs de 1 à X (X représentant le nombre de cellules utilisées dans la colonne "valeurs" ).  
Si vous ne comprenez pas une chose ou que vous pensez savoir comment m'aider, veuillez m'ajouter sur MSN ou m'envoyer un mail, merci par avance.

 
 

mood
Publicité
Posté le 10-03-2006 à 12:18:57  profilanswer
 

n°1322766
olivthill
Posté le 10-03-2006 à 14:17:31  profilanswer
 

La question est bien posée avec de belles copies d'écran, donc il serait domage de ne pas y répondre.
 
Voici une solution que j'ai écrite en vitesse, mais que j'ai quand même testée et qui marche bien.

Sub etablir_priorites()
    src_col_no = 2 ' pour la colonne B (A = 1, B = 2)
    src_lg_no = 2  ' à partir de la deuxieme ligne
    dst_col_no = 1
    cur_priorite = 1
    max_valeur = 9999999
    best_lg_no = src_lg_no
    ' Première boucle pour chaque ligne
    Do While Not IsEmpty(Cells(src_lg_no, src_col_no))
        ' Deuxième boucle pour repérer la plus grande cellule inf à celle déjà vue
        min_valeur = -1
        src_lg_no2 = 2   ' Repartir d en haut
        Do While Not IsEmpty(Cells(src_lg_no2, src_col_no))
           If (Cells(src_lg_no2, src_col_no).Value > min_valeur _
               And Cells(src_lg_no2, src_col_no).Value < max_valeur) Then
              best_lg_no = src_lg_no2
              min_valeur = Cells(src_lg_no2, src_col_no).Value
           End If
           src_lg_no2 = src_lg_no2 + 1
        Loop
        Cells(best_lg_no, dst_col_no).Value _
            = cur_priorite
        cur_priorite = cur_priorite + 1
        max_valeur = min_valeur
        src_lg_no = src_lg_no + 1
    Loop
End Sub

n°1322785
prashanth
Posté le 10-03-2006 à 14:43:18  profilanswer
 

Merci quand même,
un collègue a trouvé hier la Fonction RANG(valeur;reference) qui compare la position de la valeur par rapport à reference qui lui est une plage de cellule préalablement défini et nommer.
Tchus !!!


Message édité par prashanth le 14-03-2006 à 09:17:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel : Fonction? Programmation ? Macro ? Help me Please !!!!

 

Sujets relatifs
[VBScript] Hyperlink dans ExcelUML - Débutant en programmation - Recherche de conseils
Programmation CGI en interne ?Fonction Subtotal : placer une variable dans le paramètre TotalList
[C++] Les différents types de pointeurs sur fonction ?ouverture d'un fichier access sous excel
[VBA] Excel différencier cellules vide ou contenant 0Modification de données dans un tableau à l'aide d'une macro
[VBA] Excel : problème avec la fonction Print 
Plus de sujets relatifs à : Excel : Fonction? Programmation ? Macro ? Help me Please !!!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR