Liste par rang

Résolu/Fermé
parifa07 Messages postés 38 Date d'inscription samedi 4 février 2017 Statut Membre Dernière intervention 24 juillet 2020 - 6 mars 2020 à 18:43
parifa07 Messages postés 38 Date d'inscription samedi 4 février 2017 Statut Membre Dernière intervention 24 juillet 2020 - 7 mars 2020 à 12:35
Bonjour,

Besoin de votre aide.

En colonne A j'ai des noms et en B des nombre ;

Pierre 1
Jean 2
François 3
Arnaud 0
Ludovic 0
Ect...

J'ai besoin dans la colone C la liste par ordre alphabetique et nombre le plus petit, exemple ;

Arnaud
Ludovic
Pierre
Jean
François

Pouvez vous m'aider SVP?
Cdt

2 réponses

via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729
Modifié le 7 mars 2020 à 00:48
Bonsoir

Avec une macro :
Sub tri_numalpha()
Dim a()
Dim b()
pl = 3 'n° de la 1ere ligne du tableau A MODIFIER SI NECESSAIRE
nb = Application.WorksheetFunction.CountA(Range("A:A"))
ReDim a(nb)
ReDim b(nb)
'---- relève données
For i = 1 To nb
a(i) = Range("B" & i + pl - 1)
b(i) = Range("A" & i + pl - 1)
Next i
'---- tri
For i = 1 To nb
For j = i To nb
If a(j) < a(i) Or (a(i) = a(j) And b(i) > b(j)) Then
temp = a(j)
temp2 = b(j)
a(j) = a(i)
a(i) = temp
b(j) = b(i)
b(i) = temp2
End If
Next j
Next i
'--- affichage
For i = 1 To nb
Range("C" & i + pl - 2) = b(i)
Next
End Sub


Cdlmnt
Via

0
parifa07 Messages postés 38 Date d'inscription samedi 4 février 2017 Statut Membre Dernière intervention 24 juillet 2020
7 mars 2020 à 05:18
Merci via,
Auriez vous une solution par formule plutot qu'utiliser la macro?
0
via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729 > parifa07 Messages postés 38 Date d'inscription samedi 4 février 2017 Statut Membre Dernière intervention 24 juillet 2020
7 mars 2020 à 10:33
Bonjour parifa

Salutations Raymond ☺

Par formules non car il faut faire 2 tris, la solution la plus simple est celle de Raymond mais j'avais bien compris que tu ne voulais pas trier sur place

Pour la macro c'est simple tu n'as qu'à la copier, tu ouvres l'éditeur VBA avec Alt+F11
Tu fais Insertion - Module et tu colles la macro dans la page blanche, tu corriges éventuellement la 3eme ligne pour la ligne de départ et tu fermes 'éditeur

Ensuite il suffit à partir de ta feuille dans le ruban d'aller dans Developpeur - Macros, de choisir la macro et de la faire executer (tu peux même dans Macros - Options chosir un raccourci clavier pour la macro pour la lancer ensuite directement)

Cdlmnt
Via
0
parifa07 Messages postés 38 Date d'inscription samedi 4 février 2017 Statut Membre Dernière intervention 24 juillet 2020 > via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024
7 mars 2020 à 12:35
Mille merci à vous deux. Je vais tester....
Très bon weekend à vous.
Cdt
0
Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024 17 203
7 mars 2020 à 03:13
Bonsoir parifa.


Drôle de question !
Il suffit de copier-coller A en C, et de lancer un tri personnalisé par rapport à la colonne B, puis par rapport à la colonne A ...
ou alors je n'ai pas compris ce que tu veux faire, et qui justifie de passer par une macro !

Salutations à Via.
0
parifa07 Messages postés 38 Date d'inscription samedi 4 février 2017 Statut Membre Dernière intervention 24 juillet 2020
7 mars 2020 à 05:22
Bjr Raymond,
J'ai besoin d'automatisé cette tache mais je ne maitrise pas les macro
0