VBA Trier par ordre croissant une array à 2 dimensions

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

Job75 m'est venu en aide pour créer un code me permettant de séparer les intitulés de métiers féminins et masculins et, je cherche à trier par ordre croissant une array à deux dimensions dans laquelle ils se trouvent.

Description de l'array :
première dimension : intitulé de métier au masculin
deuxième dimension : intitulé de métier au féminin

Ces intitulés vont apparaître ensuite dans une combobox.
Le contenu de la combobox dépend de l'Option cliquée par l'utilisateur : il y à deux choix possible : Homme ou Femme
Si c'est Homme qu'il choisit voici le code qui alimente la Combobox :

Code:
Private Sub OptionButton7_Click()
'Si l'option Homme est activée, la variable Sexe prend comme valeur "Homme"
Sexe = OptionButton7.Caption
CB_metier_cible.List = [métiers].Columns(1).Value
End Sub

L'array qui contient les intitulés de métiers masculins et féminins est exécutée à l'ouverture du fichier :

Code:
Private Sub Workbook_Open()
'Feuil1 et Feuil2 sont les CodeName, Feuil2 est la feuille Source
'Feuil1 est la feuille sur laquelle seront séparées les métiers masculins féminins
Dim tablo, i As Long, t As String, s
Feuil2.[F:F].Copy Feuil2.[L:M]
tablo = [métiers] 'matrice, plus rapide
For i = 1 To UBound(tablo)
  t = tablo(i, 1)
  If InStr(t, " / ") Then
    s = Split(t)
    tablo(i, 1) = Replace(t, " / " & s(2), "")
    tablo(i, 2) = Replace(t, s(0) & " / ", "")
  End If
Next
Feuil2.[L2:M2].Resize(UBound(tablo)) = tablo
End Sub
[Code]

J'ai fait plusieurs tentatives mais je n'y suis pas parvenu.

Merci pour votre aide.
 

Pièces jointes

  • test(2).xls
    485 KB · Affichages: 938
  • test(2).xls
    485 KB · Affichages: 1 074
  • test(2).xls
    485 KB · Affichages: 1 119

Statistiques des forums

Discussions
312 201
Messages
2 086 168
Membres
103 151
dernier inscrit
nassim