Rechercher : dans
Par :

Macro en fonction de la valeur d'une cellule

Dernière réponse le 16 oct 2008 à 10:53:25 juju93, le 15 oct 2008 à 10:26:45 
 Signaler ce message aux modérateurs

Bonjour,

Est ce que quelqu'un sait comment executer une macro en fonction de la valeur d'une cellule?

D'avance merci

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « macro en fonction de la valeur d'une cellule » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...
Tableur - Les fonctions mathématiques VoirLes fonctions standards Méthode description ABS() Cette méthode renvoie la valeur absolue d'un nombre, il renvoie donc le nombre s'il est positif, son opposé (positif) s'il est négatif IMPAIR(valeur) Cette méthode renvoie la valeur...

1

Mike-31, le 15 oct 2008 à 11:05:41

Salut,

Place ce code dans le code feuille en faisant clic droit sur la feuille concernée/visualiser le code, une feuille blanche va s'ouvrir et fais un copier coller de ce code.

ensuite tu l'adaptes, dans l'exemple, le déclenchement se fera lorsque la cellule A3 sera = à 10 mais tu peux également dire >= à 10 ou l'inverse ou avec un mot ="titi".
Ensuite dans l'espace vide place le code que tu souhaites exécuter

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A3") = 10 Then

'ICI PLACE TON CODE MACRO QUE TU SOUHAITES EXECUTER


End If
End Sub

A+

Répondre à Mike-31

2

juju93, le 15 oct 2008 à 14:19:46

Tout d'abord merci de m'aider.

J'ai taper ceci :

Sub test()
'
' test Macro
'
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E6") = Mecachrome Then
'
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Client")
.PivotItems("Mecachrome").Visible = True

End With
End Sub

Mais lorsque j'execute la macro je reçoit un message me disant qu'il y a une erreur de compilation. As tu une explication?

Encor merci

Répondre à juju93

3

Mike-31, le 15 oct 2008 à 14:41:58

Salut,

Non tu ne saisis pas une macro dans un module, Tu place l'ensemble du code comme je te l'ai écris dans le code feuille

Places ce code dans le code feuille en faisant clic droit sur l'onglet de ta feuille concernée/visualiser le code, une feuille blanche va s'ouvrir et fais un copier coller de ce code.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A3") = 10 Then


'ICI PLACE TON CODE MACRO QUE TU SOUHAITES EXECUTER ou simplement le nom de ta macro que tu as créé dans un module par exemple Sub titi () tu saisis simplement titi et la macro titi s'exécutera automatiquement dès que dans ta cellule A3 il y aura 10


End If
End Sub


A+

Répondre à Mike-31

4

juju93, le 15 oct 2008 à 15:10:09

Je suis vraiment désolé mais je dois me planter à un moment,

Je tape :

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("C10") = Mecachrome Then


' testtttttt

End If
End Sub
et rien ne se passe (j'ai vérifier que la macro "testtttttt" fonctionne bien et c'est bon.

Qu'en penses tu?

Répondre à juju93

5

Mike-31, le 15 oct 2008 à 21:16:15

Salut,

Normal tout texte doit être entre "" c'est à dire "Mecachrome". Ensuite le nom de ta macro ne doit pas être précédé '
C'est à dire que tu dois saisir testtttttt

En fait voila le code que tu dois saisir

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("C10") = "Mecachrome" Then

testtttttt

End If
End Sub

Dès que dans ta cellule C10 tu aura Mecaghrome ta macro testttttt s'exécutera automatiquement

A+

Si ou dès que ton problème sera résolu n'oublis pas de le marquer ton statut résolu

Répondre à Mike-31

6

 juju93, le 16 oct 2008 à 10:53:25

ça fonctionne!!!

Un grand merci à toi d'avoir prit le temps de te pencher sur mon problème.
Trés bonne continuation.

+++

Répondre à juju93
Collection CommentÇaMarche.net