Mise liste en ordre croissant et en majuscule

Bonjour

J'ai un code pour mes ma liste en ordre de croissance en colonne "A" et mettre les nom en majuscule.

Seul petit souci c'est qu'il t doit y avoir un problème car il nefonctionne pas.

Voici mon code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LastRow As Long
Dim PlageActeur As Range
Dim cell As Range
Application.EnableEvents = 0
    LastRow = ActiveSheet.Range("a2").End(xlDown).Row
  Range("a2:b" & LastRow).Sort Key1:=Range("a2"), Order1:=xlAscending, Key2:=Range("a2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
    :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
    DataOption2:=xlSortNormal

  Set PlageActeur = Range("A2:A500")

   'Met la plage de cellule d'Accteur en Majuscule
 For Each cell In PlageActeur
    cell = UCase(cell)
  Next
Application.EnableEvents = -1
End Sub

je joint mon fichier

Merci d'avance

Cordialement

Max

Essaies :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow As Long
Dim PlageActeur As Range
Dim cel As Range

Application.EnableEvents = False
With Me
  LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
  .Range("A1:B" & LastRow).Sort Key1:=.Range("A1"), Order1:=xlAscending, _
                                Key2:=.Range("A2"), Order2:=xlAscending, _
                                Header:=xlYes
  Set PlageActeur = .Range("A2:A" & LastRow)
  'Met la plage de cellule d'Acteur en Majuscule
  For Each cel In PlageActeur.Cells
    cel.Value = UCase(cel.Value)
  Next
End With
Application.EnableEvents = True
End Sub

Bonjour Patrick

J'ai bien ton code sur ma feuille sa ne fonctionne pas?

Merci

Bonjour,

une p'tite démonstration (sans charger le classeur joint) :

Sub Demo()
With Cells(1).CurrentRegion
    With .Columns(1)
            VA = .Value
        For R& = 2 To UBound(VA):  VA(R, 1) = UCase$(VA(R, 1)):  Next
        .Value = VA
    End With

    .Sort .Cells(1), Header:=xlYes
End With
End Sub

Bonjour Marc

Je te remercie sa fonctionne Nickel mais ton la mettre en automatique c'est à dire que lorsque je rentre un nom dans la colonne il se met a sa place et en majuscule

Merci beaucoup

Comme indiqué par Patrice via l'évènement Change de la feuille de calculs :

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Column = 1 And .Row > 1 Then
        Application.EnableEvents = False
        .Value = UCase$(.Value)
        Cells(1).CurrentRegion.Sort Cells(1), Header:=xlYes
        Application.EnableEvents = True
    End If
End With
End Sub

Il n'y a pas beaucoup de raisons pour que ça ne fonctionne pas !!!

As-tu autorisé l'exécution des macros ???

Re,

je comprend pas je rentre un nom en bas de la liste avec le code il ne reagir pas?

@+


Re patrice

Oui bien j'ai activer les macros dans Option!!!!!!

Il faut mettre le code dans le module de feuille (clic droit sur l'onglet / visualiser le code)

Bonjour,

Attention à Application.EnableEvents ...

Pour redémarrer proprement ... tu peux fermer Excel et le ré-ouvrir ...

Re

Je t'envoie mon fichier regarde si chez toi il fonctionne

13essaie.xlsm (12.31 Ko)

Re

Plus personne pour m'aider!!!!!!!!!!!!!!

Bonsoir

Re,

Ton fichier fonctionne très bien ...

Bonsoir James007

Je te remercie il est vrai qu'une fois relancer sa fonctionne

Merci et bonne soirée

Max

Bonjour,

Content que cela fonctionne ...

Merci pour tes remerciements

Rechercher des sujets similaires à "mise liste ordre croissant majuscule"