IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Action dès que la valeur change.


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut [VBA-E] Action dès que la valeur change.
    Bonjour,

    Je met un tableau de bord en place sur Excel.
    J'ai des cases A1, B1, C1, ....Z1 qui sont égales à P.

    Je souhaite que dès que la valeur P est remplacé par la valeur A, alors j'ouvre la feuille appelé Anomalie.

    Existe t -il quelque chose pour faire cela.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tu pourrai rajouter une action événemetielle sur changement d'état.. dans la feuille concernée..:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Range("A1:Z1"), Target) Is Nothing Then
     
            If Target = "A" Then Sheets("anomalie").Activate
     End If
     
    End Sub
    (place le code dans la feuille à tester..)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    OK merci cela fonctionne.
    Maintenant je souhaiterai récuperer la valeur de la case Bi si la valeur de la case Ai ="A".

    Enfin je te remercie de ton aide.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je pense que i est ton N° de ligne... Dans ce cas là, je préfère travailler sur les N° de colonne que sur les lettres. Ce qui donne, avec l'exemple de bbil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Range("A1:Z1"), Target) Is Nothing Then    
               If Target = "A" Then Cells(Target.Row, 1) = Cells(Target.Row, 2)
        End If
    End Sub
    Tu dis si ça te convient

    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    C'est pas exactement ce que je souhaite.
    En fait dès que la case A1 = A alors je souhaite ouvrir la feuille anomalie.
    Dans la feuille anomalie, je souhaite récupérer en case B1 de la feuille anomalie la valeur de la case B1 de la feuille ou on a mis A1 (par exemple "Feuil1").
    Voilà.

    mais ton code m'interresse. je le travaille.

  6. #6
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    Citation Envoyé par mulanzia2003
    Dans la feuille anomalie, je souhaite récupérer en case B1 de la feuille anomalie la valeur de la case B1 de la feuille ou on a mis A1 (par exemple "Feuil1").
    j'arrive pas à bien comprendre cette phrase !

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    Bonjour, voilà le résultat que je voulais atteindre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     If Not Intersect(Range("A2:F9"), Target) Is Nothing Then
     
            If Target = "A" Then
            Sheets("anomalie").Activate
            Worksheets("anomalie").Rows("2:2").Select
            Selection.Insert Shift:=xlDown
            Worksheets("anomalie").Range("B2").Value = "Essai"
            Worksheets("anomalie").Cells(2, 2) = Cells(Target.Row, 1)
            End If
      End If
     
    End Sub
    Merci à tous !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2011, 17h04
  2. Réponses: 31
    Dernier message: 28/04/2006, 11h09
  3. [VBA-E] affichage dynamique de la valeur d'un label
    Par bandit boy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2006, 15h32
  4. [VBA-E]Cbx - gestion de la valeur null
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/02/2006, 10h44
  5. Comment vérifier que la valeur d'un champ soit unique?
    Par le lynx dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/05/2005, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo