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 :

Céer fonctions Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 308
    Par défaut Céer fonctions Excel
    Bonjour à tous les lecteurs : Je voudrais créer 2 fonctions distinctes comme macro complémentaires d’Excel disponibles dans la version 2019.
    A savoir la fonction SI.MULTIPLE() avec un minimum de 7 conditions et la fonction SI.CONDITIONS().
    N’étant pas très expert en VBA, je recherche un expert en la matière.
    Par avance merci pour votre aide.

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par patmicro Voir le message
    A savoir la fonction SI.MULTIPLE() avec un minimum de 7 conditions et la fonction SI.CONDITIONS().
    Développer une fonction en connaissant uniquement son nom et sans savoir ce que tu veux qu'elle fasse, ça risque d'être hard.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 308
    Par défaut
    Je me suis peut être mal exprimé : Je voudrais reproduire comme dans les exemples de cette vidéo disponibles sur la version Excel 2019



  4. #4
    Expert confirmé
    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
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Après avoir lu ce tutoriel
    les fonctions personnelles
    le plus efficace serait que tu développes et retournes le code en cas de difficulté.
    Comme le signale Menhir, il te faut partir d'un existant (les arguments de la fonction) pour bien définir le résultat escompté.
    Une fois ces éléments exposés clairement, le code sera envisageable.

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour

    Exemple pour SI.MULTIPLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function IFM(ByVal Rng As Range, ParamArray Crit())
    '......
    End Function
    EDIT

    J'ai donné une proposition de fonction. Mais il me faudra plus guider que de répondre.

    Dans un premier temps il faudra boucler sur les élements de la variable tableau Crit avec un pas de 2 et de voir la correspondance entre ces éléments et la valeur de Rng (la cellule de comparaison).

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par patmicro Voir le message
    A savoir la fonction SI.MULTIPLE()
    Pour savoir comment faire des fonctions personnalisée : http://silkyroad.developpez.com/vba/fonctions/
    Le plus pratique sera d'utiliser dans ton code la fonction Choose() : https://docs.microsoft.com/fr-fr/off...hoose-function

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ne sachant pas qu'elles sont les conditions que tu dois traiter, il n'est pas simple de t'apporter une réponse pertinente.
    S'il s'agit de renvoyer une information suivant des valeurs graduelles, il est plus simple de remplacer une suite de SI imbriqués par la fonction RECHERCHEV de plus la maintenance en est facilitée.
    La lecture de ce billet titré Comment remplacer des SI imbriqués par la fonction RECHERCHEV t'en apprendra davantage
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Pourquoi se casser la tête à créer des fonctions perso alors qu'Excel en possède suffisamment pour arriver à ce qu'on souhaite comme utiliser la fonction CHOISIR() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(OU(A1="";A1>10);"Pas bon";CHOISIR(A1;"Condition 1 remplie";"Condition 2 remplie";"Condition 3 remplie";"Condition 4 remplie";"Condition 5 remplie";"Condition 6 remplie";"Condition 7 remplie";"Condition 8 remplie";"Condition 9 remplie";"Condition 10 remplie"))
    Dans ce cas-ci, une fonction perso serait utile si on ne souhaite pas passer tous ces arguments :
    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
    20
    21
    22
    23
    24
    25
    26
     
    Function MaFonction(Cel) As String
     
        Dim Resultat As String
     
        On Error GoTo Fin
        Resultat = Choose(Cel, _
                          "Condition 1 remplie", _
                          "Condition 2 remplie", _
                          "Condition 3 remplie", _
                          "Condition 4 remplie", _
                          "Condition 5 remplie", _
                          "Condition 6 remplie", _
                          "Condition 7 remplie", _
                          "Condition 8 remplie", _
                          "Condition 9 remplie", _
                          "Condition 10 remplie")
     
        MaFonction = Resultat
        Exit Function
     
    Fin:
     
        MaFonction = "Pas bon !"
     
    End Function

Discussions similaires

  1. Utilisation fonction excel dans ACCESS: Ereur de compilation
    Par mat_lefebvre dans le forum Access
    Réponses: 2
    Dernier message: 22/03/2006, 10h44
  2. [VB.NET][Excel] utiliser des fonction Excel comme xlToRight
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/03/2006, 12h10
  3. fonction excel
    Par semur dans le forum Excel
    Réponses: 4
    Dernier message: 24/01/2006, 17h41
  4. [VBA][Débutante] Fonction Excel avec Boucle
    Par Inelukia dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 11/01/2006, 19h31
  5. Fonction excel: trouvé un numéro de ligne
    Par Nanid dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/09/2005, 14h52

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