Tri sans la partie numérique

xhudi69

XLDnaute Accro
Bonjour le Forum,

A l'aide de l'UserForm je fais des tris que je copie sur la feuille "TEMPO_NOM" aux fins de statistiques.
Le problème est que si je veux faire une statistique sur un client au niveau national, il faut que le tri se fasse sans la partie numérique, qui représente le département.

Auriez-vous une idée......

Merci par avance pour le temps passé.
 

Pièces jointes

  • xhudi_69.xlsm
    38.4 KB · Affichages: 51
  • xhudi_69.xlsm
    38.4 KB · Affichages: 58
  • xhudi_69.xlsm
    38.4 KB · Affichages: 68

Modeste

XLDnaute Barbatruc
Re : Tri sans la partie numérique

Bonjour xhudi69,

Ce n'est certainement pas un exemple du genre, mais à défaut d'autre piste, pourquoi ne pas "coller" le contenu de ton "dictionary" dans une plage de cellules vides, les trier avec un simple Range("xxx").Sort, puis les récupérer dans ta ComboBox?
Si, à la fin de ton UserForm_Initialize, tu remplaces
VB:
Call Tri2(Tempo, LBound(Tempo), UBound(Tempo))
Me.ComboBox2.List = Tempo
... par
VB:
  Sheets(4).Range("A1:A" & mondico.Count) = Application.Transpose(mondico.keys)
  Sheets(4).Range("A1:A" & mondico.Count).Sort key1:=Sheets(4).Range("A1")
  Me.ComboBox2.List = Sheets(4).Range("A1:A" & mondico.Count).Value
Il me semble que ça devrait fonctionner (en tout cas c'est le cas chez moi)
 

xhudi69

XLDnaute Accro
Re : Tri sans la partie numérique

Bonjour Modeste, le Forum,

merci pour ta réponse, je vais de ce pas essayé ta solution et te fais un retour.:cool:

En PJ j'avais imaginé cela, qui me permettais en outre de faire des stats sur les départements.
Le gros problème est que cette Feuil"BASE" me sert d'import de données issues d'un autre Log.
Cet import comporte 30 colonnes et de ce fait vont se placer sur mes colonnes "splittées", je pourrais les mettres en fond de cale mais elles ressortiront au moment du collage sur la Feuil"TEMPO_NOM" :confused:

Je teste ta solution....

@+
 

Pièces jointes

  • xhudi_69_bis.xlsm
    41.6 KB · Affichages: 34

Modeste geedee

XLDnaute Barbatruc
Re : Tri sans la partie numérique

Bonsour®
En PJ j'avais imaginé cela, qui me permettais en outre de faire des stats sur les départements.
Le gros problème est que cette Feuil"BASE" me sert d'import de données issues d'un autre Log.
Cet import comporte 30 colonnes et de ce fait vont se placer sur mes colonnes "splittées", je pourrais les mettres en fond de cale mais elles ressortiront au moment du collage sur la Feuil"TEMPO_NOM" :confused:
@+
:cool:
pourquoi ne pas simplement inserer une colonne complémentaire le temps de faire le tri
colonne qui sera supprimée dés que le tri est effectué ????

VB:
Sub Macro1()
    Columns("C:C").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    'Range("C2").FormulaR1C1 = "=RIGHT(RC[1],2)" ' ---- le n° de département
    Range("C2").FormulaR1C1 = "=LEFT(RC[1],3)" '---la partie Alpha
    Range("C2").AutoFill Destination:=Range("C2:C34")
    Range("B2").Select
    ActiveWorkbook.Worksheets("BASE").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("BASE").AutoFilter.Sort.SortFields.Add Key:=Range( _
        "C2:C34"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
    ActiveWorkbook.Worksheets("BASE").AutoFilter.Sort.SortFields.Add Key:=Range( _
        "D2:d34"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("BASE").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Columns("C:C").Select
    Selection.Delete Shift:=xlToLeft
End Sub
 

xhudi69

XLDnaute Accro
Re : Tri sans la partie numérique

Bonjour pierrejean, le Forum,

pour un essai c'est un coup de maitre, cela fonctionne du premier coup, je retiens cette solution car j'en ai aussi besoin dans une autre appli.

mille fois merci à vous tous.

@+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 109
Messages
2 085 381
Membres
102 876
dernier inscrit
BouteilleMan