Trier et mettre automatiquement en majuscule une colonne...

libellule85

XLDnaute Accro
Bonjour,
Est il possible de trier et mettre automatiquement en majuscule les données (que l'on rentrent au fur et à mesure) d'une colonne par exemple la colonne B et que celà commence à partir de la cellule B5 ?
merci beaucoup pour vos réponses
 

Papou-net

XLDnaute Barbatruc
Re : Trier et mettre automatiquement en majuscule une colonne...

Bonjour libellule85,

Bien sûr que c'est possible.

Vois sur le fichier joint.

Cordialement.
 

Pièces jointes

  • Libellule.xls
    18 KB · Affichages: 309
  • Libellule.xls
    18 KB · Affichages: 311
  • Libellule.xls
    18 KB · Affichages: 315

Papou-net

XLDnaute Barbatruc
Re : Trier et mettre automatiquement en majuscule une colonne...

Aïe, je n'ai pas vu que tu es sur Excel2007.

Sur Xl2003, ça marche sans erreur mais comme je ne suis pas chez moi, je ne peux pas voir pour le moment.

Tu peux peut-être essayer d'enregistrer le tri avec l'enregistreur de macros, et comparer le code avec le mien (enfin si tu connais un tant soit peu VBA ?).

Cordialement.
 

JNP

XLDnaute Barbatruc
Re : Trier et mettre automatiquement en majuscule une colonne...

Bonjour le fil :),
Aïe, je n'ai pas vu que tu es sur Excel2007.
Sur Xl2003, ça marche sans erreur mais comme je ne suis pas chez moi, je ne peux pas voir pour le moment.
Si le tri 2007 n'est pas supporté par 2003, c'est la première fois que le contraire ne fonctionne pas :confused:...
Pourtant, je viens de tester le fichier, même combat :p... J'ai dupliqué le code dans un fichier neuf, idem :rolleyes:...
Et que le code plante, ok, mais de là à planter Excel...
Bon, un code qui fonctionne en 2007
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row < 5 Or Target.Column <> 2 Then Exit Sub
Application.EnableEvents = False
Target = UCase(Target)
Me.Sort.SortFields.Clear
Me.Sort.SortFields.Add Key:=Range("B5:B" & Range("B65000").End(xlUp).Row), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Me.Sort
    .SetRange Range("B5:B" & Range("B65000").End(xlUp).Row)
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
Application.EnableEvents = True
End Sub
Bonne soirée :cool:
 

JNP

XLDnaute Barbatruc
Re : Trier et mettre automatiquement en majuscule une colonne...

Re :),
Et pourtant, sur mon portable et XL2003, je t'assure que ça marche parfaitement !
Je te crois, surtout que le code parait nickel :confused:...
J'ai souvent utilisé des tri 2003 sous 2007 et ça a toujours marché :p...
J'ai l'impression que le problème vient plus du tri dans une événementielle, mais j'ai eu beau ajouter EnableEvent sur ton code, ça plantait quand même. Mais j'ai été obligé de les ajouter avec le tri 2007, alors qu'ils ne paraissent pas obligatoires sous 2003 :rolleyes:...
Bref, à suivre, l'essentiel est que Libellule85 s'en sorte ;) !
Bonne soirée :cool:
 

Papou-net

XLDnaute Barbatruc
Re : Trier et mettre automatiquement en majuscule une colonne...

RE : JNP

J'ai l'impression que le problème vient plus du tri dans une événementielle, mais j'ai eu beau ajouter EnableEvent sur ton code, ça plantait quand même

Tu as raison : j'ai beau savoir qu'il faut être prudent avec l'événement Change, j'oublie toujours de le borner avec EnableEvent.

Par ailleurs, je pense que les sbires de Bill Gates ont modifié l'algorythme de tri dans les dernières versions. Sinon, je ne vois pas pour quelle raison ça ne marche plus.

Quoiqu'il en soit, tu as raison sur ce point :

Bref, à suivre, l'essentiel est que Libellule85 s'en sorte

Bonne soirée à toi également.
 

Discussions similaires

Réponses
3
Affichages
197

Statistiques des forums

Discussions
312 180
Messages
2 085 991
Membres
103 081
dernier inscrit
jeromeolivier.raymond@wat