Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 résolus trie automatique

gena

XLDnaute Occasionnel
bonjour le forum
voila je recherche comment mettre ma base de patient en trie automatique et que tout soit en majuscule quand je rentre de nouvelle données de la colonne A à N
j'ai bien fais un essaie dans le code de la feuille mais bon rien de très bon
pouvez vous m'aidé svp
 

Pièces jointes

  • Copie de classement.xlsm
    29.1 KB · Affichages: 17

Dranreb

XLDnaute Barbatruc
Bonsoir.
Une proposition :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim V As Variant, Cel As Range
   Application.EnableEvents = False
   For Each Cel In Target
      V = Cel.Value: If VarType(V) = vbString Then Cel.Value = UCase(V)
      Next Cel
   If Not Intersect([B:B], Target) Is Nothing Then
      V = Cells(Target.Row, 2)
      [A1].CurrentRegion.Sort [B1], xlAscending, Header:=xlYes
      Application.Goto Intersect(Rows(WorksheetFunction _
         .Match(V, [B:B], 0)), Target.EntireColumn)
      End If
   Application.EnableEvents = True
   End Sub
Attention, il y a derrière une procédure sans utilité car réservée au module ThisWorkbook.
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Bonsoir Gena, Dranreb, le forum

Une autre version :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v$, i&, j%
v = Cells(Target.Row, 2)
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
   
    'Test si en majuscules
    If v <> UCase(v) Then Cells(Target.Row, 2) = UCase(v)
   
End With
End Sub

@Phil69970
 

Dranreb

XLDnaute Barbatruc
@Phil69970 Dangereux sans Application.EnableEvents = False
Et puis ça ne met pas tous les textes en majuscules comme demandé.
@gena Si vous ne trouvez pas ce qui cloche vous pouvez toujours joindre le classeur. Chez moi ça marche. Mais ça ne met en majuscule que les cellules modifiées
 

Dranreb

XLDnaute Barbatruc
Je ne constate pas le phénomène chez moi, mais ça fait penser à un abandon avant exécution de la Application.EnableEvents = True de sorte qu'il reste à False.
ècrivez une petit Sub dans un module standard qui le remet à True.
De toute façon j'ai un tout petit peu modifié le code du #2
 

Discussions similaires

Réponses
2
Affichages
431
Réponses
10
Affichages
421
Réponses
1
Affichages
316
Compte Supprimé 979
C
Réponses
6
Affichages
336
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…