Sélectionner une cellule selon choix liste de validation

Bonjour à tous,

J'aimerais à chaque choix dans une liste de validation de données, que la cellule correspondante sera sélectionnée.

Merci d'avance.

Bonsoir,

Essaye le code suivant dans le premier onglet :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [H2]) Is Nothing Then
        On Error Resume Next
        Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
    End If
End Sub

Hello,

Il faut ajouter ce code dans VBA, dans l'onglet de la feuille et ça marche pas mal.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = ActiveSheet.Range("h2").Address Then 'test capture action change, si change dans cellule avec liste alors ok on poursuit

For recherche_cell = 1 To 10000 'fait une recherche par boucle dans la colonne A sur les 10000 1er lignes pour aller plus loin ajouter des 0
If ActiveSheet.Range("A" & recherche_cell).Value = Target.Value Then 'si valeur cellule H2 = valeur cellule A en cours de lecture alors ok
ActiveSheet.Range("A" & recherche_cell).Select 'ok on selectione cette cellule
End If
Next recherche_cell 'poursuite boucle

End If

End Sub

Bonsoir Raja, waard,

Merci pour réponses

Je voulais essayer de scroller la fenêtre active pour placer la cellule sélectionnée juste par trois lignes au dessous de la limite du volet figé.

J’ai testé avec le cas du choix "C4" et j'ai obtenu un scroll de 15 lignes en bas pour placer la cellule "C4" en bas du volet figé :

        'Scroll de la fenêtre active pour le cas du choix C4
        ActiveWindow.SmallScroll Down:=15

Qu'en est-il pour les autres cas ?

Faut calculer le nombre de scroll, donc ici on a 3 lignes de barre de synthèse + 3 lignes de décalage + 1 ligne pour la selection, donc on soustrait l'adresse ligne moins 7 et il faut donc faire x-7 scrolls.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [H2]) Is Nothing Then
        On Error Resume Next
        Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select

        'Scroll de la fenêtre active pour le cas du choix C4

        ligne = Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Row
        deplacement = (ligne - 7)
        ActiveWindow.SmallScroll up:=ligne 'on retourne en haut histoire de faire un calcul simple il est 22h
        ActiveWindow.SmallScroll Down:=deplacement
    End If
End Sub

Merci waard

Rechercher des sujets similaires à "selectionner choix liste validation"