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

Action avec "ENTER"

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

Lu K

XLDnaute Occasionnel
Bonjour le Forum,

Je me permet de faire appel à vous pour un petit problème ! Je sais que c'est réalisable mais je n'y arrive pas :

Je souhaite tout simplement mettre en couleur rouge une cellule de la colonne "I" lorsque que je valide cette cellule par Entrée.

J'ai essayé plein de code, mais rien n'y fait.

Merci à tous ceux qui voudront bien m'aider.
 
Re : Action avec "ENTER"

Bonjour Lu K,

Une mise en forme conditionnelle devrait suffire par exemple :

Format/Mise en forme conditionnelle et choisir la Formule est :

=$I1<>"" et le choix de la couleur. A tirer vers le bas....

Bonne fin d'après-midi.

Jean-Pierre
 
Re : Action avec "ENTER"

Bonsoir Lu K, jeanPierre, bonsoir le forum,

Un proposition par macro avec la macro événementielle Change ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 9 Then Exit Sub 'si le changement a lieu ailleurs que dans la colonne I, sort de la procédure
'à l'édition colore l'interieur de la cellule en rouge ou supprime la couleur si cellule effacée
Target.Interior.ColorIndex = IIf(Target.Value <> "", 3, xlNone)
End Sub
 

Pièces jointes

Re : Action avec "ENTER"

Bonsoir Lu K, salut jeanpierre, Robert,

Dans le même esprit que Robert, mais en considérant que Target peut aussi être constituée de plusieurs cellules :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, Columns("I"))
If Target Is Nothing Then Exit Sub
Target.Interior.ColorIndex = IIf(Target.[COLOR="Red"]Cells(1, 1)[/COLOR] <> "", 3, xlNone)
End Sub

A+
 
Re : Action avec "ENTER"

Message annulé...

J'avais essayé quelque chose en cas de Copier-Coller sur la colonne I, ce n'était pas bon.

A+
 
Dernière édition:
Re : Action avec "ENTER"

Bonjour,

Pour en terminer correctement, une solution qui fonctionne dans tous les cas (y compris le Copier-Coller) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, Columns("I"), Me.UsedRange)
If Target Is Nothing Then Exit Sub
For Each Target In Target
  Target.Interior.ColorIndex = IIf(Target <> "", 3, xlNone)
Next
End Sub

A+
 
Re : Action avec "ENTER"

Bonjour à tous et merci pour vos réponse aussi rapide.

Vos codes fonctionnent parfaitement, mais le problème, car il y a toujours un Mais ! c'est que je voudrais que l'action ne se fasse que avec la touche entrée et surtout pas avec d'autre comme le copié coller ! Y a t-il une solution pour cela ?

D'avance merci à tous ceux qui voudront bien répondre.
 
Re : Action avec "ENTER"

Bonjour ,
Tu affectes la macro le temps de ta saisie à la touche Entrée , une fois la saisie terminée tu enléves l'affectation de la macro à cette même touche
 
Re : Action avec "ENTER"

Bonjour camarchepas,

Ouah, ça c'est du rapide !!!
Bon, pour ton code, désolé ça marche pas ! ou alors je me débrouille mal !
L'utilisation de ce code est constant, je ne peut pas le faire sur une période donné.

Merci comme même !
 
Re : Action avec "ENTER"

Re,

Par contre , il faut bien employer la touche Entrée du clavier principal , pas celle du pavé numérique (Il faut rechercher le code touche pour l'autre , ça doit pas être trop sorcier).

Et voici donc l'exemple qui fonctionne :
 

Pièces jointes

Re : Action avec "ENTER"

Bonjour à tous,

je pense qu'il faudrait modifier comme ça :

Code:
Private Sub Worksheet_Deactivate()
Application.OnKey "~"
End Sub

et ajouter le même code à la fermeture du classeur et à la désactivation du classeur
 
Re : Action avec "ENTER"

Re

Encore plus désolé, je n'arrive pas à faire fonctionner ton classeur car il est en lecture seule. Et quand je fait ma petite bidouille il me ramène à ton fichier (j'y comprend rien !!!)
Code:
Private Sub Worksheet_Activate()
Application.OnKey , "entree"
End Sub

Private Sub Worksheet_Desactivate()
Application.OnKey , ""
End Sub

et dans un module :
Private Sub entree_Change(ByVal Target As Range)
Set Target = Intersect(Target, Columns("i"), Me.UsedRange)
If Target Is Nothing Then Exit Sub
For Each Target In Target
Target.Font.ColorIndex = IIf(Target <> "", 3, xlNone)
Next
End Sub
 
Re : Action avec "ENTER"

Re ,

Il faut sélectionner la feuil2 puis revenir sur la feuil1 car pour le moment j'ai choisi l'événementiel activate de la feuil1 pour activer la programmation de la touche entrée.
 
Re : Action avec "ENTER"

Bonjour Lu K, le fil,

Faut pas tout mélanger... Essayer :

Code:
Private Sub Worksheet_Activate()
Application.OnKey "~", "Entree"
End Sub

Private Sub Worksheet_Deactivate()
Application.OnKey "~"
End Sub

'dans un module :

Sub Entree()
Dim Target As Range
Set Target = Intersect(Selection, Columns("I"), ActiveSheet.UsedRange)
If Target Is Nothing Then Exit Sub
For Each Target In Target
Target.Font.ColorIndex = IIf(Target <> "", 3, xlNone)
Next
End Sub
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

Discussions similaires

Réponses
3
Affichages
295
  • Question Question
XL pour MAC Lettrage, Macro
Réponses
19
Affichages
684
Réponses
3
Affichages
326
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…