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 19/12/2011, 04h04   #1
Invité de passage
 
Homme Claude
Chargé d'affaire
Inscription : octobre 2011
Messages : 26
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : Canada

Informations professionnelles :
Activité : Chargé d'affaire
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 26
Points : 3
Points : 3
Par défaut Activer une sub sur le changement d'une valeur de cellule

Bonjour,

J'aimerais savoir comment activer une SUB automatiquement sans l'aide de bouton. Je voudrais que ma SUB s'active ou procède à sa programmation sur un changement de valeur d'une cellule. Je pourrais utiliser le format conditionnel, mais je suis limité à 3 conditions. J'ai au moins 12 conditions à utiliser.

Ex. si j'ai oui dans la cellule a1, je veux que celle-ci se colore en rouge
si j'ai non dans la cellule a1, je veux que celle-ci se colore en orange et ainsi de suite pour une douzaine de conditions

Merci à l'avance
Claude_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 08h56   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 916
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 916
Points : 7 228
Points : 7 228
Bonjour,

En utilisant l'évènement Change de la feuille

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Target.Address = "$A$1" And Target.Count = 1 Then
 
    Select Case Target.Value
        Case "oui"
            Target.Interior.ColorIndex = 3
        Case "non"
            Target.Interior.ColorIndex = 46
    End Select
 
End If
 
End Sub
__________________
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 40
Vieux 19/12/2011, 17h43   #3
Invité de passage
 
Homme Claude
Chargé d'affaire
Inscription : octobre 2011
Messages : 26
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : Canada

Informations professionnelles :
Activité : Chargé d'affaire
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 26
Points : 3
Points : 3
Par défaut ?? If Target.Address = "$A$1" And Target.Count = 1 Then

Merci pour tes codes Jfontaine. Je vais profiter encore de ta patience. Je suis quand même néophite en la matière et j'aimerais comprendre la ligne suivante.

Code :
If Target.Address = "$A$1" And Target.Count = 1 Then
Que veut dire And Targert.Count = 1 then. Je peux me débrouiller avec la balance du code, mais cette ligne m'embête un peu.

Merci
Claude_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 20h55   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 916
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 916
Points : 7 228
Points : 7 228
Citation:
Que veut dire And Targert.Count = 1 then.
Cela permet de vérifier que target ne contient qu'une seule cellule.
Ce test gère le vidage en masse de cellule
__________________
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 19/12/2011, 21h43   #5
Invité de passage
 
Homme Claude
Chargé d'affaire
Inscription : octobre 2011
Messages : 26
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : Canada

Informations professionnelles :
Activité : Chargé d'affaire
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 26
Points : 3
Points : 3
D'accord merci beaucoup
Claude_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 23h32   #6
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
Bonsoir à tous
Une petite remarque
Code :
If Target.Address = "$A$1" And Target.Count = 1 Then
On pourrait s'en passer de du moment que si Target.address="$A$1", nécessairement Target.count=1
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h04.


 
 
 
 
Partenaires

Hébergement Web