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 :

fonction si et macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 21
    Par défaut fonction si et macro
    Bonjour à tous
    voila j'ai besoin de mettre la fonction Si dans une cellule (A1 par exemple) tel que si je donne une valeur à une autre cellule (B1= 1 par exemple ) alors une macro Mamacro() se lance et sinon elle affiche "rien" par exemple.
    Merci de votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Par défaut
    Je m'avance peut être mais je pense que ton problème peut se résoudre en mettant ta macro dans ThisWorkbook dans la sub :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Si tu dois faire cela pour tous les onglets du classeur, la proposition d'Al peut convenir. Si tu veux le limiter à un seul onglet, essai avec la macro événementielle Change ci-dessous, à placer dans l'onglet désiré et à adapter à ton cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans une cellule
    If Target.Address <> "$B$1" Then Exit Sub 'si le changement a lieu ailleurs qu'en B1, sort de la procédure (limite l'action à la seule cellule B1)
    If Target.Value = 1 Then 'condition : si la cellule modifiée (B1 en l'occurrence) est égale à un
        Call MaMacro 'lance la procédure MaMacro
    Else 'sinon
        Range("A1").Value = "rien" 'écrit "rien" dans la cellule A1
    End If 'fin de la condition
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 21
    Par défaut
    Merci pour vos réponses
    En fait je me suis mal exprimé
    Voici une partie de ma feuille Excel
    Nom : fiche.jpg
Affichages : 356
Taille : 76,2 Ko

    Voilà ce que je veux faire :
    Ecrire en B15 : =SI(C7="";"Indemnité d'expérience pédagogique : I.E.P.P";SI(RECHERCHEV(C10;prime;3;0)=1;"Indeminté d'expérience pédagogique : I.E.P.P" ; call mamacro()))- C10 correspond à la nature de la fonction de l’employé et qui détermine si cet employé a droit à cette indemnité ou non .
    - Mamacro est une macro pour supprimer la plage de cellule B15-D15 si la condition n’est pas vérifiée et supprimer la case indemnité
    En résumé mettre en B15 la condition que si l’employé a une Indemnité d’expérience pédagogique alors afficher en B15 « Indemnité d’expérience pédagogique : I.E.P.P » et éventuellement calcul de cette indemnité en D15 sinon appeler mamacro() pour supprimer la plage B15-D15
    Merci pour votre aide

  5. #5
    Membre chevronné
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Par défaut
    Cela marchera qu'a condition que ta macro soit une fonction et non une procédure
    De plus tu as pas besoin de mettre le "call"

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 21
    Par défaut
    Merci Monsieur
    J'ai mis le call comme ceci =SI(RECHERCHEV(C10;prime;3;0)=1;"Indeminté d'expérience pédagogique : I.E.P.P" ; call mamacro()))mais ça ne marche pas et pour mettre cela en fonction ça ne marche pas aussi puisqu'une fonction Excell retourne une valeur et ne supprime pas la plage de cellule que j'ai envie de supprimer!!
    est ce que tu vois le problème ?

Discussions similaires

  1. Erreur fonction Excel dans macro
    Par jboul dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/07/2008, 15h05
  2. Exécuter une fonction via les Macro
    Par Kephuro dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/01/2008, 23h31
  3. comment utiliser un programme comme une fonction dans une macro exel
    Par ERICKO dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/10/2007, 23h39
  4. Bug lors de l'utilisation d'une fonction dans une macro.
    Par monf29 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/06/2007, 14h35
  5. Fonction EstNull dans macro Access
    Par joker vb dans le forum Access
    Réponses: 5
    Dernier message: 13/01/2006, 15h55

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