Recuperer le TOP et LEFT d'une cellule

  • Initiateur de la discussion Initiateur de la discussion Robby
  • Date de début Date de début

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 !

R

Robby

Guest
Bonjour,
Je veux afficher une ListBox pour simplifier la saisie (+ efficace, + rapide, - d'erreur, et tout le tralala...)

Donc, j'ai deja le code dans la page concernee.
Mais cependant, l'affichage en position de la ListBox est assez peu precis.
Et si le classeur est modifie (il l'est toujours: les utilisateurs ne peuvent pas s'empecher de toucher a la taille de caractere, la police, la largeur et hauteur des colonnes) alors la position de ma ListBox est completement dans les choux.

Ci-joint le classeur.

Ma question est, comment trouver la position exact d'une cellule en coordonees Top Left pour y positionner la ListBox ?
Pour l'instant je le fais au 'pif'.

D'avance Merci !
Salutations au forum !

😉
 

Pièces jointes

Re : Recuperer le TOP et LEFT d'une cellule

J'ai moi meme trouve une premiere reponse,
pour le TOP, il faut additionner toutes les hauteurs des lignes avant la cellule.
Ansi on obtient le TOP.


En revanche le LEFT ... je ne sais pas.
 
Re : Recuperer le TOP et LEFT d'une cellule

Bonjour
Je ne sais pas mais puisque ta logique a marché je dirais : additionne les largeurs des colonnes avant la cellule.
Il y a surement quleque chose de plus précis dans Excel mas en attendant...
 
Re : Recuperer le TOP et LEFT d'une cellule

Bonjour, essaie en remplaçant ton code par ceci :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fin, Ligne
Application.ScreenUpdating = False
LB3.Visible = False 'masque par defaut la ListBox
Colonne = Target.Column
Ligne = Target.Row

Select Case Target.Address
Case Is = "$B$7"
tablo = 9
Case Is = "$B$8"
tablo = 10
Case Is = "$B$10"
tablo = 11
Case Is = "$D$9"
tablo = 12
Case Else
Exit Sub
End Select
LB3.Visible = True
LB3.Left = ActiveCell(Ligne, 2).Left
LB3.Top = ActiveCell(1, Colonne).Top
While Worksheets("Main").LB3.ListCount <> 0
Worksheets("Main").LB3.RemoveItem (0)
Wend
For x = 2 To Sheets("Data Base").Cells(65536, tablo).End(xlUp).Row
Worksheets("Main").LB3.AddItem Sheets("Data Base").Cells(x, tablo).Value
Next x
End Sub


Ceci t'évite une fonction supplémentaire.
Cependant, Données/Validation, le fait très bien aussi, il suffit de lui coller une liste..
bon courage
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
2
Affichages
1 K
S
N
Réponses
3
Affichages
829
nicolasCH
N
E
Réponses
2
Affichages
990
Elsa.b4
E
Retour