Microsoft 365 Position sur cellule

Electron24

XLDnaute Occasionnel
Bonjour le Forum,

En cherchant un peu partout sur le forum je n'ai pas trouvé ce que je recherche à savoir :

J'ai une liste déroulante dans la cellule A5 (Validation des données) comportant une liste de Pays
Dans les cellules F10 à F150 j'ai les pays
En sélectionnant un pays dans ma liste déroulante, je souhaiterai qu'excel se positionne sur la cellule correspondante à la sélection
(Ex: Sélection Belgique dans ma liste déroulante ça me positionne en F18
Merci d'avance pour votre aide
 

Electron24

XLDnaute Occasionnel
Bonjour JHA

J'y avais pensé mais le souci est que le filtre me donne que la première ligne, et chaque pays comprend 31 lignes en clair en F10 j'ai le nom du pays puis de G11 à G41 j'ai les données.
Ma liste déroulante se trouve juste sur la ligne au dessus de la ligne figée. Ainsi lorsque je sélectionne le pays j'ai en dessous de la ligne A5 Fx qui correspond au pays puis les données sur 31 lignes Gx à G+31
Dans ce cas là le filtre ne fonctionne pas
 

fanch55

XLDnaute Barbatruc
Salut,
Ceci devrait fonctionner
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   ' [A1] est la cellule concernée ...
    If Target.Count = 1 And Target = [A1] Then
        ActiveWindow.ScrollRow = Range(Mid(Target.Validation.Formula1, 2)).Find(Target).Row
    End If
End Sub

Ceci dit, c'est pas le pied car tu vas devoir revenir à ta cellule pour choisir un autre pays ...:rolleyes:
 

fanch55

XLDnaute Barbatruc
Pardon, mal lu la demande :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   ' [A1] est la cellule concernée ...
    If Target.Count = 1 And Target.Cells(1) = [A1] Then
        With Range(Mid(Target.Validation.Formula1, 2)).Find(Target)
            ActiveWindow.ScrollRow = .Row
            .Select
        End With
    End If
End Sub
 

Electron24

XLDnaute Occasionnel
Bonsoir fanch55

Merci pour ton aide, mais je ne comprends pas pourquoi la cellule A1
J'ai une liste déroulante en A5 juste sur la dernière ligne figée (Lignes 1à 5 figées)
Mes pays sont en lignes F10 jusqu'à F18 Le premier pays étant à F10 let les données sur 31 lignes sont en G11 à G41 Chaque pays comprenant 31 lignes de données (Quelques fois pas toutes remplies)
Donc, en sélectionnant un pays, je souhaite (comme en quelque sorte un filtre) pouvoir afficher a compter de la ligne 6 les 31 données du dit pays.
En espérant avoir été assez clair pour que vous puissiez mieux voir le souci
 

dg62

XLDnaute Barbatruc
Bonjour
A tester
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pays As String
If Not Application.Intersect(Target, Range("A5")) Is Nothing Then
pays = Target.Value
End If
With Worksheets("pays").Range("F11:F150") ' changer nom de la feuille
    Set c = .Find(pays, LookIn:=xlValues)

        monpays = c.Address
    Range(monpays).Activate
End With
End Sub

j'ai mal compris le problème
 

dg62

XLDnaute Barbatruc
Bonjour Electron24, fanch55

Avec un petit ScrollRow ;)

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pays As String
Dim c As Range
Dim monpays As String
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
     pays = Target.Value
    End If
    If pays = "" Then Exit Sub
   
With Worksheets("pays").Range("F11:F150")
   
    Set c = .Find(pays, LookIn:=xlValues)
    If Not c Is Nothing Then
     monpays = c.Address
     ActiveWindow.ScrollRow = c.Row
     Range(monpays).Activate 'facultatif
   
    End If
End With
End Sub
 

Pièces jointes

  • test pays.xlsm
    20.9 KB · Affichages: 5
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 078
Messages
2 105 468
Membres
109 375
dernier inscrit
anderson2