(VBA) Validation de données = Résultat direct

  • Initiateur de la discussion Initiateur de la discussion sebamak
  • 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 !

S

sebamak

Guest
Bonjour à tous,

Voici mon souci, je n’ai pas trouvé la réponse dans le forum, mais si l’un d’entre vous a déjà rencontré le sujet, merci de me donner le lien correspondant.

Voilà, j’ai créé une liste de « Validation de données » et quand je sélectionne une valeur dans cette liste, je désirerais que cela remplisse une cellule à côté avec une valeur déterminé, le tout en VBA.

Le problème que je rencontre, c’est que je n’arrive pas à obtenir la valeur en DIRECTE. Je suis obligé de cliquer sur une cellule à côté pour que la valeur change.

J’ai écrit la procédure dans « Worksheet_SelectionChange »

Je joins un fichier résumant mon problème.

Je voudrais que quand je sélectionne « OUI » dans la liste, cela m’inscrive « OUI » 2 cellules plus loin sans devoir cliquer ailleurs. Et la même chose avec la sélection de « NON ».

Je précise bien que ceci est un résumé du programme que je suis en train d’élaborer. L’ensemble final regroupe bien plus de données. Mais je pense qu’il suffit à expliquer mon problème.

Merci d'avance pour vos réponse 😀
 

Pièces jointes

Re : (VBA) Validation de données = Résultat direct

bonjour,

Un essai :

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B7").Value
Case "OUI"
Range("B7").Offset(0, 2).Value = "OUI"
Case "NON"
Range("B7").Offset(0, 2).Value = "NON"
End Select
End Sub
 
Re : (VBA) Validation de données = Résultat direct

bonjour sebamak, CHALET53

en utilisant la même sub que CHALET53

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$7" Then Target.Offset(0, 2).Value = Target
End Sub

A+
 
Re : (VBA) Validation de données = Résultat direct

Bonjours, à vous et merci déjà d’avoir pris le temps de me répondre,

Alors pour tout vous dire, le problème que je vous ai exposé, n’est pas : « Comment remplir une cellule après avoir sélectionné une donnée dans une liste de « validation de données » ? », mais de remplir cette cellule en direct, sans devoir cliquer ailleurs.

Ce que propose CHALET53 est exactement le code que j’ai dans mon fichier d’exemple, et le problème, c’est que lorsqu’on sélectionne « OUI » ou « NON », la cellule de destination ne change pas directement.

Il faut que je clique à un autre endroit de la feuille pour qu’elle se mette à jour.

Quant à la solution de Paf, cela marche aussi, mais je donnais « OUI » ou « NON » comme exemple. Vous vous doutez bien que ce que je cherche à faire et plus complexe que ça :
Sélection d’une valeur dans une liste de « validation de données » renvoie une autre « valeur » dans une cellule déterminée.

Mais ce que je souhaite c’est qu’elle renvoie cette valeur instantanément sans devoir cliquer ailleurs.

Donc si vous avez la solution, je suis preneur.
 
Re : (VBA) Validation de données = Résultat direct

re,

la proposition de CHALET53 et la mienne modifient instantanément la cellule D7 après sélection en B7, sans avoir à cliquer quelque part.
Si non, pourquoi proposer une solution qui présente le même inconvénient que le problème soumis ?

Peut-être avez vous copier le code dans la mauvaise sub ?

A+
 
Re : (VBA) Validation de données = Résultat direct

Toutes mes excuses,
Effectivement, je ne m’étais pas aperçu que vous faisiez la procédure dans « Worksheet_Change » et non dans « Worksheet_SelectionChange » et cela fonctionne très bien.

Mais quand je l’intègre à mon programme, il se met à bugger de partout.

Du coup je me suis rabattu sur une solution de substitution qui laisse mon programme viable.

Encore un grand merci à vous pour vos réponses rapides et constructives.

A+
 
- 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

Réponses
5
Affichages
623
  • Question Question
Réponses
7
Affichages
308
Retour