Problème liste déroulante

Résolu
lou3313 -  
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai besoin d'aide sur Excel,

Sur une feuille nommée ( Prestation janvier ), j'ai crée une liste déroulante (ComboBox1).

Pour ma liste, j'ai intégré des données dans les cellules P1:P24 dans ListFillRange

Lorsque je clique sur une des données de ma liste, je voudrais qu'elle s'affiche en cellule A1, puis lorsque je clique à nouveau sur une nouvelle donnée de la liste, je voudrais que cette donnée s'affiche en cellule A2, et ainsi de suite, sans effacer les données rentrées auparavant.

Si cela est possible sur VBA, merci de votre aide.
A voir également:

10 réponses

a70m Messages postés 3121 Statut Contributeur 217
 
Salut lou3313,
Je n'ai pas bien compris ton problème ...
En revanche, je connais un site très très bien pour excel qui pourra peut être répondre à ta question :
http://doublevez.com/

Encore désoler de ne pas avoir été en mesure de te répondre précisement

A70M
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

voici un exemple : http://www.cijoint.fr/cjlink.php?file=cj200906/cij2IZNCIL.xls

eric
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Salut,

Colles ce code dans les propriétés de ton combobox

Private Sub ComboBox1_Click()
Dim LigFin As Long
Range("A1").Select
Selection.Copy
LigFin = Range("A100").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub

si tu veux effacer la cellule A1 après le transfert, ajoutes cette ligne juste avant End Sub

Range("A1").ClearContents

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
a70m Messages postés 3121 Statut Contributeur 217
 
Respect Mike-31

Chapeau bas :p

A70M
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Salut,

C'est le même code que celui proposé par Eriiic, en plus basique, ce qui le différencie, c'est que je passe par la cellule A1 qui est la cellule lié à ton combobox comme tu le demandais.
Pour les novices ce genre de code est plus facilement interprétable, mais pour le même résultat, il est possible d’écrire un code plus propre

Private Sub ComboBox1_Click()
[A1000].End(xlUp).Offset(1, 0).Select
ActiveCell = [A1]
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
lou3313
 
Salut Mike,

J'ai rentré les informations dans Les Propriétés de mon ComboBox, comme tu me l'a indiqué et ça ne fonctionne pas, ci joint le message d'erreur.

Bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objets introuvables.

Peux-tu résoudre ce problème?

Merci pour ton Aide.

Lou3313.
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Salut,

Ta combobox est sur la feuille ou sur une Userform !

Si elle est sur la feuille,
mets toi en mode création, double clic sur la combobox, ce qui va t'ouvrir la feuille des

propriétés

Dans ListFillRange saisie P1:P20 et dans ListFillRange et dans linkedcell saisis A1 ensuite sur la feuille tu auras le début du code

Private Sub ComboBox1_Change()

End Sub


Entre les deux lignes colles ces deux lignes

[A1000].End(xlUp).Offset(1, 0).Select
ActiveCell = [A1]

Si tu recontres un problème reviens sur le forum

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
lou3313
 
Salut,

Désolé mais ça ne fonctionne toujours pas.

Je m'explique peut-être mal, je te réitère mon problème.

J'ai une feuille nommée (Prestations janvier)

Sur cette feuille j'ai crée une ComboBox1

Dans la fenêtre de propriété à listFilRange j'ai sélectionné P1:P24

Dans ma liste, dès que je clique sur un nom ,il s'affiche. jusque là aucun souci

A noter: ma liste déroulante se trouve en E7

Ce que je souhaiterais, c'est lorsque je clique sur un des noms de ma liste déroulante, il doit
s'afficher en E9 et ainsi de suite jusqu'a E18.

Nota: les noms sélectionnés dans ma liste peuvent être les mêmes ou différent.

Exemple, j'ai Robert, Suzane, Francis,Antoine, si je clique sur Antoine, il Doit s'afficher en E9; puis si je clique sur Francis, il doit s'afficher en E10; puis si je clique su Suzane, il doit s'afficher en E11. et ainsi de suite sans effacer les noms sélectionnés dans les cellules
Merci pour ton aide, Salut!
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour tout le monde,

tu peux aussi lire toutes les réponses et regarder l'exemple du post 2...
eric
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Re,

Si tu avais expliqué clairement tes attentes, ton problème aurait été résolu depuis longtemps, Eriiic te proposait un bon début de code et avec ces dernières précisions il ajoutais deux lignes et le tour était joué

https://www.cjoint.com/?gCaHd4mQNW

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
lou3313
 
Salut Mike,

ça fonctionne.

Merci, pour ton aide et excuse moi de ne pas avoir été plus explicite la première fois.

Merci encore et un Grand Salut.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
de rien lou3313 !!!
0
lou3313
 
Bonjour,

J'ai un souci avec ma liste déroulante.

Si par inadvertance, je me trompe dans la sélection d'un nombre de ta liste déroulante, et que je l'efface puis après réflexion le sélectionné à nouveau, je ne peux pas.

D'autre part, je ne peux pas sélectionner plusieurs fois le même nombre à la suite.

Est-il possible d'y remédier, si oui peux-tu m'aider.

Salut et A+
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Salut,

Testes ce code, colles le à la place de celui qui est sur mon exemple

Private Sub ComboBox1_Change()
If Range("E9") = "" Then
[E9] = [A1]
Else
[E1000].End(xlUp).Offset(1, 0).Select
ActiveCell = [A1]
End If
ComboBox1.Value = ""
ActiveCell.Clear
Exit Sub
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0