XL 2010 Positionner le curseur dans une cellule avec une liste déroulante

CATPLUS

XLDnaute Junior
Bonjour à tous
Voici ma requête
Dans le fichier joint, colonne A => les 26 lettres de l'alphabet
Colonne B => la liste déroulante.
Comment puis-je SVP aller dans la cellule correspondant a la demande de la liste déroulante?
Cordialement
 

Pièces jointes

  • Classeur1.xlsm
    12.5 KB · Affichages: 12

Jacky67

XLDnaute Barbatruc
Bonjour à tous
Voici ma requête
Dans le fichier joint, colonne A => les 26 lettres de l'alphabet
Colonne B => la liste déroulante.
Comment puis-je SVP aller dans la cellule correspondant a la demande de la liste déroulante?
Cordialement
Bonjour,

Une, parmi d'autre
Dans le module de la feuille
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address <> "$B$1" Then Exit Sub
  Application.Goto (Cells(Application.Match(Target, [A:A], 0), 1))
End Sub
 

Pièces jointes

  • alpha.xlsm
    18.9 KB · Affichages: 10

Staple1600

XLDnaute Barbatruc
Bonjour le fil, CATPLUS

Test OK sur ton fichier exemple avec ce code VBA
VB:
Dim ligne&
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
ligne = Application.Match([B1], [A:A], 0)
Application.Goto Cells(ligne, 1)
End If
End Sub
NB: A mettre dans le code de la feuille
(et pas dans un module standard)

EDITION
Houps désolé, pour la collision, Jacky67 ;)
Ah , j'oubliais: Bonjour Jacky67
 

Staple1600

XLDnaute Barbatruc
Re

Alors pour varier les plaisirs et pour ne pas doublonner
(comme le fait ma précédent proposition)
Une autre syntaxe qui ne fonctionne que pour l'exemple soumis ;)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Application.Goto Cells(Range([B1] & "1").Column, 1)
End If
End Sub
 

Jacky67

XLDnaute Barbatruc
Re

Alors pour varier les plaisirs et pour ne pas doublonner
(comme le fait ma précédent proposition)
Une autre syntaxe qui ne fonctionne que pour l'exemple soumis ;)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Application.Goto Cells(Range([B1] & "1").Column, 1)
End If
End Sub
Hello Staple1600
Ou encore 🙄 :)😇😋
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$B$1" Then Exit Sub
    Application.Goto [a:a].Find(Target)
End Sub

**Fais attention de ne pas manger froid 🥘
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 310
Messages
2 087 119
Membres
103 478
dernier inscrit
Frederic Lagger