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 :

Formule en vba


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Points : 34
    Points
    34
    Par défaut Formule en vba
    Bonjour
    J'ai cette formule dans la colonne K2 SI(OU(J2=0;C2=0);"";(J2-C2)).
    Je voudrais la mettre en vba dans le Worksheet_Change et je ne sais pas comment.
    Toute aide serait appréciée.
    Merci à l'avance

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonsoir,

    Met toi sur ta cellule, commence un enregistrement de macro, appuie sur F2 (pour entrer dans la formule) puis sur entré (pour la valider) stop l'enregistrement de macro et va lire la macro ainsi créée.

    Tu vas y reconnaitre ta fonction mais en vb.

    Antony
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Points : 34
    Points
    34
    Par défaut Macro événementiel
    La réponse doit ressembler à ceci. j'aimerais la formule pour chaque ligne; la colonne entière.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Range("j2") = 0 Or Range("c2") = 0 Then
            Range("k2") = ""
        Else
            Range("k2") = Range("j2") - Range("c2")
        End If
        Application.EnableEvents = True
    End Sub
    Merci de m'aider

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir.

    Une toute petite modification devrait faire l'affaire :
    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 (Target.Column = 3) Or (Target.Column = 10) Then
     
        Application.EnableEvents = False
        If Range("j" & Target.Row) = 0 Or Range("c" & Target.Row) = 0 Then
            Range("k" & Target.Row) = ""
        Else
            Range("k" & Target.Row) = Range("j" & Target.Row) - Range("c" & Target.Row)
        End If
        Application.EnableEvents = True
     
    End If
     
    End Sub
    Cordialement,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  5. #5
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Dans le même esprit depuis la proc proposé par pgz :
    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
    16
    17
    18
    19
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        With Target
     
            If (.Column = 3) Or (.Column = 10) Then
     
                Application.EnableEvents = False
     
                    Range("K" & .Row) = Range("J" & .Row) - Range("C" & .Row)
                    If Range("K" & .Row) = 0 Then Range("K" & .Row) = ""
     
                Application.EnableEvents = True
     
            End If
     
        End With
     
    End Sub
    Hervé.

Discussions similaires

  1. [VBA-E]Formules en VBA?
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/06/2007, 20h55
  2. [VBA-E] ecrire une formule en vba
    Par Huubb dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/01/2007, 14h15
  3. tirage formules en VBA avec excel
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 46
    Dernier message: 23/11/2006, 18h33
  4. Paramétrer une formule en vba
    Par arnogef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/08/2006, 11h48
  5. Copier une formule avec vba
    Par NAMORJOSE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/05/2006, 00h12

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