Code pour trier

bonjour le forum

voila j'ai un macro pour trier mes colonnes A et B cela est pas le soucis

mais il trie même chose en majuscule et minuscule se que je recherche sais qui transforme tout Majuscule et qu'il trie toute la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
Dim v$
v = Cells(Target.Row, 2)
[A1].CurrentRegion.Sort [B1], xlAscending, Header:=xlYes 'tri
Cells([B:B].Find(v, , xlValues, xlWhole).Row, Target.Column).Select
End Sub

avec tout mes remerciements

Bonjour

Un exemple de ton fichier serait le bienvenu

Crdlt

MERCI désolé oublie

j'aimerais quelle trie tout la feuille en automatique et quelle soit toit en majuscule

merci pour votre aide

Bonjour ami,

Je crois qu'en ajoutant la partie du bas tu devrais trouver ton compte.

Private Sub Workbook_Open()

Dim Cell As Range

Dim Ws As Worksheet

Set Ws = Worksheets("basededonnéespatient")

For Each Cell In Ws.Range("b2:b" & Ws.Range("b2").End(xlDown).Row)

DateAnniversaire = CDate(Day(Ws.Cells(Cell.Row, "i")) & "/" & Month(Ws.Cells(Cell.Row, "i")) & "/" & Year(Date))

If DateAnniversaire = Date Then MsgBox "Anniversaire De : " & Cell & vbLf & DateDiff("yyyy", Ws.Cells(Cell.Row, "i"), Date) & " ans"

Next

'cette partie-ci

Dim c As Range

For Each c In [BaseDeDonnéesPatient!B2:C49]

c = UCase(c)

Next c

End Sub

merci mais je veux juste mettre ma base patient en trie automatique et toute les lignes en majuscule quand je rentre une nouvelle données dans cette base

rebonjour Ami,

pour les majuscules automatiques, place la macro suivante dans ta feuille. à chaque entrée de nouvelles données, elles seront à majuscules, tu n'as qu'à modifier la plage.

Pour le tri automatique, est-ce que tu souhaites que ta nouvelle lignes se place à la bonne place une fois que tu as terminé d'inscrire les informations, ou seulement à la prochaine ouverture de ton fichier. ??

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim Plg As Range

'ici tu peux changer la plage

Set Plg = Intersect(Target, [a1:C1000])
If Plg Is Nothing Then Exit Sub
For Each Cel In Plg
Cel = UCase(Cel)
Next Cel
End Sub

MERCI

Pour le tri automatique, sE que jE souhaites que la nouvelle lignes se place à la bonne place

merci j'essaye de placé ton code

Bonjour amis, bonjour spage

@spage ... si je peux me permettre

  1. utilise la balise </> pour rendre plus lisible le code comme le fait amis
  2. ne fixe pas de limite à la zone explorée ... comme ici Set Plg = Intersect(Target, [a1:C1000]) ou ici For Each c In [BaseDeDonnéesPatient!B2:C49], il vaut utiliser
Ws.Range("B2").End(xlDown).Row
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Union(Columns("B"), Columns("C"))) Is Nothing Then Exit Sub
    Application.EnableEvents = False
        Target.Value = UCase(Target.Value)
        Dim v$, i&, j%
        v = Cells(Target.Row, 2).Value
        With [A1].CurrentRegion
            .Sort [B1], xlAscending, Header:=xlYes 'tri
            i = [B:B].Find(v, , xlValues, xlWhole).Row
            j = Rows(i).Find("").Column 'colonne de la 1ère cellule vide de la ligne
            Cells(i, IIf(j > .Columns.Count, Target.Column, j)).Select
        End With
    Application.EnableEvents = True
End Sub

bonjour le forum

merci STEELSON tout est opérationnelle

un grand merci

amitié

Bonjour à tous,

En retard, mais !...

Les données sont lises sous forme de tableau structuré.

Cdlt.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim TD As Range
    On Error GoTo errHandler
    Set TD = Range("DonnéesPatients")
    If Not Intersect(Target, Application.Union(TD.Columns(2), TD.Columns(3))) Is Nothing And Target.CountLarge = 1 Then
        Application.EnableEvents = False
        Target.Value = VBA.UCase$(Target.Value)
        With TD.ListObject.Sort
            .SortFields.Add Key:=TD(0, 2)
            .SortFields.Add Key:=TD(0, 3)
            .Header = xlYes
            .Apply
            .SortFields.Clear
        End With
    End If
exitHandler:
    Application.EnableEvents = True
    Exit Sub
errHandler:
    Resume exitHandler
End Sub

merci beaucoup JEAN ERIC

Je suis juste un apprentis il y a pas retard pour l'enseignements je le garde dans ma malle au secrets

le chemin de apprentissage va être très très long je le garde pour l'étudier

merci encore une fois

Rechercher des sujets similaires à "code trier"