Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/10/2011, 20h22   #1
Invité de passage
 
Inscription : mars 2009
Messages : 16
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 16
Points : 4
Points : 4
Par défaut Macro après validation d'une cellule

Bonjour,

j'aimerai activer ma macro après validation ou sortie de ma cellule.
Juste après la saisie.
Permettant, par rapport à un mot précis, de colorier ma cellule.
Je sais que par MFC on peut le faire, mais vu que je suis sous 97 et que j'en ai plein à saisir, il me faut passer par une macro.


Pour le moment j'ai essayé ça, mais ça ne me l'actif pas à la sortie de la cellule. Mais seulement quand je sors et je reviens sur la cellule.

Code :
1
2
3
4
5
6
7
8
9
10
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If UCase(ActiveCell.Value) = "CP" Then
  ActiveCell.Value = "CP"
  Selection.Interior.ColorIndex = 41
  End If
 
  If UCase(ActiveCell.Value) = "Abs" Then
  ActiveCell.Value = "ABS"
  Selection.Interior.ColorIndex = 41
  End If
...etc

Une idée?
sony25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 20h51   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 896
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 896
Points : 7 180
Points : 7 180
Bonjiour,

Utilise l'evenement Change à la place de SelectionChange
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 20h58   #3
Invité de passage
 
Inscription : mars 2009
Messages : 16
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 16
Points : 4
Points : 4
J'ai déjà essayé.
Ca fait rien...
sony25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 21h20   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Ceci est un exemple qui prends en compte le cas général où une plage est modifiée (et non seulement une seule cellule)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Dim Klr As Integer
 
For Each c In Target
    Select Case UCase(c)
        Case "CP": Klr = 41
        Case "ABS": Klr = 45
            '...suite
        Case Else: Klr = xlNone
    End Select
    c.Interior.ColorIndex = Klr
    Application.EnableEvents = False
    c = UCase(c)
    Application.EnableEvents = True
Next c
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 21h29   #5
Invité de passage
 
Inscription : mars 2009
Messages : 16
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 16
Points : 4
Points : 4
Quoi dire....
Si ce n'est..... MERVEILLEUX!!!

Merci à toi!
sony25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h19.


 
 
 
 
Partenaires

Hébergement Web