Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Commenr rester sur la même case après validation

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

Soda33127

Guest
Bonjour à tous,
Voilà mon souci :
dans un jeu de tables de multiplication, lorsqu'un enfant valide une réponse juste, la touche entrée sélectionne la cellule juste au dessus, pas de problème.
Mais en cas de réponse erronée, j'aimerais que la cellule dans laquelle il a écrit l'erreur reste activée pour qu'il puisse changer son résultat sans se servir des touches de direction.
Je n'arrive pas à trouver le bon code VBA.
Je vous envoie un petit fichier très simplifié du jeu que je suis en train de mettre en place.
Et si vous pouviez m'aider ou me donner des pistes de recherche, ce serait extra.
Merci d'avance
 

Pièces jointes

Re : Commenr rester sur la même case après validation

Bonjour, Soda33127, le Forum,

A tester... en admettant que les bons résultats soient mentionnés (et cachés) en colonne O, ce code dans un module :

Code:
Sub Toto()
Dim c As Range
For Each c In Range("e2:e30")
If c.Value <> "" And c.Value <> c.Offset(, 10) Then
c.ClearContents
c.Select
End If
Next
End Sub

et celui-ci dans le module de l'onglet 1 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Call Toto
End Sub

A bientôt 🙂
 
Re : Commenr rester sur la même case après validation

Merci DoubleZero,
Je teste et je vous tiens au courant.
Merci pour cette réponse rapide.
A+
 
Re : Commenr rester sur la même case après validation

Re-bonjour,

J'ai répondu trop vite 🙄 ... sans avoir remarqué les formules déjà présentes en colonne F.

Remplacer la macro "Toto" du #2 par celle-ci :

Code:
Sub Toto()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range("e2:e30")
If c.Value <> "" And c.Offset(, 1).Value = "Non, recommence" Then
c.ClearContents
c.Select
End If
Next
Application.ScreenUpdating = True
End Sub

A bientôt 🙂
 
Re : Commenr rester sur la même case après validation

J'ai donc testé et adapté au fichier et .......
le code fonctionne parfaitement. Un grand merci pour cette aide rapide et complète.


PS :Le jeu n'est pas encore parfait, bien sûr, mais si ça peut intéresser quelqu'un, je joins le fichier.
L'idée est prise sur un pdf du net(merci à Charivari en calcul mental )

A+
Soda 33127
 

Pièces jointes

Re : Commenr rester sur la même case après validation

Effectivement, ça m'a un peu perturbé mais j'ai trouvé une astuce avec une petite temporisation (pas terrible mais je ne suis pas trop doué encore en vba). Je vais donc essayer ce nouveau code.
Ce site est super, vraiment sympa de nous aider ainsi.
Amicalement
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…