Curseur sur ligne crée automatiquement

Fermé
anaxagore2001 Messages postés 1 Date d'inscription mercredi 8 janvier 2014 Statut Membre Dernière intervention 8 janvier 2014 - 8 janv. 2014 à 16:26
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 8 janv. 2014 à 18:54
bonjour à tous
j'ai un classeur (ci joint ) avec en colonne b (de b11 à b300 pour l'instant une liste de noms et prenoms dans la même cellule B.
grace à la macro cette liste est numéroté et surtout les noms ajoutés sont triés automatiquement par ordre alphabetique.
le problème est que si je suis en ligne 300 et ue le nom et prénom rentré soit par exemple dupont ce nom est classé et une ligne est crée grcâe au tri . ca c'est très bien
mais j'aimerais que cette ligne crée soit selectionnée automatiquement par le curseur pour eviter de la chercher avec la barre de defilement] verticale.

code sur feuil1
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
If Not Intersect(Target, Range("B11:B" & Range("B" & Rows.Count).End(xlUp).Row)) Is Nothing Then
Target.Value = UCase(Mid(Target.Value, 1, InStr(1, Target.Value, " ") + 1)) & LCase(Mid(Target.Value, InStr(1, Target.Value, " ") + 2, Len(Target.Value) - InStr(1, Target.Value, " ") + 1))
Range("A11:N" & Range("B" & Rows.Count).End(xlUp).Row).Sort key1:=Range("B11"), header:=xlYes
End If
For i = 11 To Range("B" & Rows.Count).End(xlUp).Row
Range("A" & i).Value = i - 10
Next i

Application.EnableEvents = True
End Sub

merci par avance
A voir également:

2 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
8 janv. 2014 à 17:05
Bonjour,

Pour déposer le fichier de travail anonymisé : cjoint..com et coller ici le lien fourni.

eric
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
8 janv. 2014 à 18:54
Bonsoir

Avant le tri rajouter cette ligne :
nouveau = Target.Value

Avant le next i rajouter celle-ci :
If Range("B" & i).Value = nouveau Then Range("B" & i).Select

Cdlmnt
0