Actualisation liste déroulante Excel

Fermé
¤ Peyo ¤ - 3 nov. 2011 à 00:04
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 4 nov. 2011 à 07:32
Bonjour à tous et d'avance merci pour votre aide !

Dans mon fichier, l'utilisateur renseigne un numéro dans une la case A1 : avec RECHERCHEV et un tableau que j'ai rentré, je dois faire correspondre un texte à cette valeur. Trois solutions sont possibles :
1) ce numéro n'existe pas dans mon tableau (et l'utilisateur doit alors le modifier) : je veux alors afficher en A2 un message d'erreur pour l'utilisateur lui demandant de modifier le numéro
2) ce numéro existe et un seul texte y correspond : je veux alors afficher en A2 ce texte
3) ce numéro existe et 2 textes y correspondent : je veux alors afficher en A2 une liste déroulante avec ces 2 textes, pour que l'utilisateur choisisse.


Actuellement, j'ai recours à "Validation des données" pour créer une liste. Dans le cas 3), pas de problème. Dans les cas 1) et 2), ça fonctionne mais je me retrouve avec une liste alors que je ne voudrais qu'une seule valeur de texte (message d'erreur pour 1) et texte pour 2)) => comment faire ?

Second problème: lorsque l'utilisateur sélectionne une valeur dans ma liste déroulante en A2, puis change la valeur en A1, la valeur choisie en A2 reste affichée : l'utilisateur doit cliquer sur la liste pour que celle-ci affiche les nouveaux résultats correspondants à la nouvelle valeur de A1. Est-il possible, et si oui comment, de faire en sorte qu'à la saisie de la nouvelle valeur de A1, l'ancienne sélection en A2 disparaisse (s'actualise) ?

En espérant que vous puissiez m'apporter votre aide, merci beaucoup !
A voir également:

4 réponses

Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
3 nov. 2011 à 00:56
Bonjour.

Je ne peux pas répondre à toutes tes exigences à la fois. Mais en mettant
* en A1 une validation de données pour renseigner le N°,
* en A2 la formule avec RECHERCHEV pour le texte de base
* en A3 une validation de données pour choisir parmi les textes dérivés,
on approche de ce que tu désirais (avec 3 cellules au lieu de 2).
https://www.cjoint.com/?AKda3NR90cj
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
3 nov. 2011 à 07:51
Bonjour
pour "effacer" une cellule lorsque la =cellule de référence est modifiée:



1°cas, vous avez une seulle cellule active
clic droit sur le nom d'onglet
choisir: visualiser le code
copier ci dessous et coller dans la fenêtre affichée
B1 vsera vidée si vous entrez une valeur en A1

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
'(placer entre guillemets l'adresse de la ou des cellules remplies séparées par des virgules)
Range("B1").Select
'(placer entre guillemets la cellule recevant la date)
Selection.Clearcontents
End If
End Sub

si vous voulez agir sur une colonne en mettant en ligne la date dans la cellule à droite, même opération avec:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim Rw As Long
If Target.Column = 1 Then
'(colonne active: mettre n° de colonne de la feuille: ici 1=colonne A)
Rw = Target.Row
Range("B" & Rw).Value = Date
'(cellule avec date: mettre entre guillemets l'adresse de la colonne à dater)
End If
End Sub

0
Bonsoir à tous !

Merci à vous Raymond et Vaucluse pour votre réactivité et votre aide.

Vaucluse : j'ai essayé le 1er cas => cela fonctionne parfaitement, merci beaucoup !

Raymond : merci beaucoup pour votre suggestion de solution, néanmoins je suis un peu exigeant ^^ et pour des questions de présentation je préfère privilégier 2 cellules plutôt que 3 => n'auriez-vous pas une autre suggestion pour contourner cette contrainte ?
Par contre, j'ai suivi votre suggestion pour la validation des données en A1 ce qui me facilite la tâche (plutôt que d'afficher un message d'erreur).

Merci d'avance !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
4 nov. 2011 à 07:32
Bonjour Peyo

Malheureusement, mettre un menu déroulant et une formule dans la, même cellule risque d'amener quelque chose de très complexe, car la formule disparaît lorsque l'on rentre la validation!

je vous propose ici un modèle qui permet de traiter les deux avec une cellule intermédiaire que vous pouvez placer hors champ et qui ne s'utilise que si le code donne plusieurs solutions.

revenez si besoin.

http://www.cijoint.fr/cjlink.php?file=cj201111/cij5xfmaeT.xls

crdlmnt
0