Reprendre contenu de la cellule active dans UserForm

Lu K

XLDnaute Occasionnel
Bonjour à tous, et merci pour ceux qui vont m'aider.

Je vous joint un code qui me pose problème. Le but de ce code et de faire afficher une boite de dialogue avec choix dans une combobox. Ca marche bien, mais mon ptoblème et au niveau du rappel du contenu de la cellule active (dernière ligne). Celui ci m'affiche toujours le contenu de l'avant dernière cellule selectionné et non pas celle qui est en cours. Je tourne un peut en rond, Est-ce ma variable qui n'est pas bien définit ? ou autre chose ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'selection de cellule par double click
If Intersect(Target, Range("c2:c200")) Is Nothing Then: Exit Sub
Dim Adressecellule As String


Adressecellule = ActiveCell.Value 'memorisation de la cellule active
Appelbibliothèque.Show 'appel de l'UserForm
Appelbibliothèque.ComboBox_selection_biblio.Value = Adressecellule 'Reprendre le contenu de la cellule active pour l'insérer dans le combobox
End Sub

D'avance merci pour vos réponse
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Reprendre contenu de la cellule active dans UserForm

Bonjour Lu K, bonjour le forum,

Bienvenu dans le forum. Ton code me semble correct je ne vois qu'une seule possibilité : as-tu un code d'initialisation ou d'activation de l'UserForm qui modifierait la cellule active ? Ou bien un code dans la Combobox... Pourrais-tu nous fournir les codes de ton Userform ?
 

Minick

XLDnaute Impliqué
Re : Reprendre contenu de la cellule active dans UserForm

Salut,

Le probleme est que tu affiches ton userform et quand tu en sors de celui ci
tu mets la valeur de la combo sur la derniere cellule (donc trop tard).
Mais ta forme est charge et donc quand tu fais l'affichage la fois suivante tu te retrouve avec l'avant derniere valeur mise sur ton combo.

Il faut faire comme ceci:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As  Boolean) 
'selection de cellule par double click 
If Intersect(Target, Range("c2:c200")) Is Nothing Then: Exit Sub 
Dim Adressecellule As String 


Adressecellule = ActiveCell.Value 'memorisation de la cellule active 
Appelbibliothèque.Load 'Chargement de l'UserForm 
Appelbibliothèque.ComboBox_selection_biblio.Value = Adressecellule  'Reprendre le contenu de la cellule active pour l'insérer dans le  combobox 
Appelbibliothèque.show ' affichage
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
314 644
Messages
2 111 528
Membres
111 189
dernier inscrit
Laurent.