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 :

Code lors de la mise à jour d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Voici ma question.

    J'ai ma cellule F31 qui peut contenir deux données différentes (définies par la fonction de validation de données) soit TRAIN, soit VOITURE.
    Si je choisis la valeur TRAIN pour cette cellule, je souhaite donner la valeur LOCOMOTIVE à une autre cellule : J25.
    Si je change la valeur en VOITURE, je souhaite que la valeur de la cellule J25 devienne ROUE.

    Quelqu'un à une idée ?

    Une solution serait de mettre une formule SI dans la cellule J25, mais je ne veux pas car l'utilisateur peut faire un autre choix de valeur (qui de tiendrait plus compte de la valeur recommandée par le choix de la cellule F31.

  2. #2
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Dans le code de la feuille en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$F$31" Then
            If Target.Value = "TRAIN" Then Me.Range("J25").Value = "LOCOMOTIVE"
            If Target.Value = "VOITURE" Then Me.Range("J25").Value = "ROUE"
        End If
    End Sub

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut modification
    Bonjour match, zebreloup, Bonjour le Forum,

    Si je peux me permettre.
    Sachant que la cellule F31 répond à une liste de validation de 2 valeurs, il est possible d'utiliser la méthode IIF.

    D'où cette variante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
        With Target
                If .Address <> "$F$31" Then Exit Sub
                Range("J25").Value = IIf(.Value = "TRAIN", "LOCOMOTIVE", "ROUE")
        End With
    End Sub

  4. #4
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Tout à fait. Et si ensuite tu as plus de 2 valeurs, il faudra mieux utiliser un Select Case plutôt que des If

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Super !
    Ça fonctionne.
    Un grand merci à tout le monde.

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

Discussions similaires

  1. JPA bloque lors de la mise à jour d'une date
    Par th3doct0r dans le forum JPA
    Réponses: 1
    Dernier message: 25/01/2013, 09h38
  2. Réponses: 12
    Dernier message: 14/06/2011, 09h04
  3. Réponses: 0
    Dernier message: 14/04/2010, 11h32
  4. [AC-2003] Erreur lors de la mise à jour d'une table SQL Server 2008
    Par suziwan dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/12/2009, 22h06

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