XL 2010 comment se positionner directement sur une ligne commençant par une lettre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Aphrodyte

XLDnaute Nouveau
Bonjour,
Voilà, je suis perdue avec un tableau comportant des milliers de lignes.
Je dois faire défiler tout mon tableau pour trouver des lignes recherchées, et c'est très long.
Je voudrais juste pouvoir me positionner directement sur la 1ère ligne du tableau "commençant par une lettre donnée", je gagnerai un temps fou (sans avoir à cliquer sur pleins d'onglets ou de boutons) !
Je voudrais exactement faire ceci:
- Ouvrir mon tableau.
- Taper juste une lettre (qui correspond à la 1ère lettre des cellules de la colonne C (à partir de la ligne 3).
- Et directement, mon tableau se positionnerait sur la 1ère ligne correspondante.

Ca doit vous paraître hyper simple à vous tous, mais moi je galère et je n'y arrive pas.
Si quelqu'un pouvait m'aider, ça serait génial.

Merci d'avance et bonne journée.
 
Solution
@Phil69970 pourquoi utiliser une boucle sur des cellules, ça prend beaucoup de temps sur un grand tableau.

Avec la fonction Match (EQUIV) l'exécution est immédiate :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Variant
With Range("C3")
    If Application.Intersect(Target, .Cells) Is Nothing Or Target(1) = "" Then Exit Sub
    i = Application.Match(.Value & "*", .Cells(2).Resize(Rows.Count - .Row), 0)
    If IsError(i) Then MsgBox "Aucune ligne ne correspond", vbCritical, "Problèeme !" Else .Cells(i + 1).Select
End With
End Sub
A+
Bonjour à tous,
@job75
sur le fichier de la demoiselle ton truc ne fonctionne pas ,je n'ai pas d'explication car ça devrait j'ai pourtant adapté(C1/C3)
Si l'on utilise C3 au lieu de C1 il ne faut pas utiliser EntireColumn mais ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
With [C3] 'à adapter
    If .Value <> "" Then .Resize(Rows.Count - .Row + 1).AutoFilter 1, .Value & "*" Else If FilterMode Then ShowAllData
    If Target.Address = .Address Then .Select
End With
End Sub
A+
 

Pièces jointes

Bonjour,
Merci encore à vous tous pour vos messages et votre aide.
Je vais continuer d'utiliser la méthode de @Phil69970 car avec son fichier "Choix lettre V4.xlsm" ça fonctionne maintenant exactement comme je voulais.
Merci du fond du coeur, sans vous et votre super communauté, des tas de gens comme moi seraient vraiment très embêtés. Vous êtes trop forts....... 😍
 
@Phil69970 , je t'embête une dernière fois:
Si je ne veux pas que la fenêtre "Problèème" s'ouvre quand aucune ligne ne correspond, je supprime quoi dans le code ?
(en fait si je clique sur la cellule sans mettre aucune lettre par exemple, je préfèrerai que ça n'ouvre pas cette fenêtre, juste que ça ne fasse...... rien !)
 
@Phil69970 pourquoi utiliser une boucle sur des cellules, ça prend beaucoup de temps sur un grand tableau.

Avec la fonction Match (EQUIV) l'exécution est immédiate :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Variant
With Range("C3")
    If Application.Intersect(Target, .Cells) Is Nothing Or Target(1) = "" Then Exit Sub
    i = Application.Match(.Value & "*", .Cells(2).Resize(Rows.Count - .Row), 0)
    If IsError(i) Then MsgBox "Aucune ligne ne correspond", vbCritical, "Problèeme !" Else .Cells(i + 1).Select
End With
End Sub
A+
 

Pièces jointes

Merci beaucoup à toi aussi @job75 .
Le fichier "Choix lettre V5.xlsm" fait maintenant parfaitement ce que je souhaitais.
J'arrête donc de vous embêter avec mes problèmes.
J'essaye de régler mon dernier tout petit souci toute seule : j'y arrivais , j'y arriverais... 😂
😇
Merci encore et bonne journée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

C
Réponses
2
Affichages
2 K
Christophe JEANNEAU
C
Retour