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 :

Créer une fonction Excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Créer une fonction Excel
    J'occupe mon temps libre (!!! chômage) à découvrir VBA. J'ai développé une macro sur Word qui traduit en lettre les nombres sélectionnés écrits en chiffre.
    Je voudrais porter cette macro sur Excel sous la forme d'une fonction et saisir dans une cellule quelque chose du style:
    =FonctionNombre(A1) pour obtenir dans la cellule la traduction du nombre saisi en A1.

    Je ne sais pas comment structurer ma fonction pour accéder à la valeur à traduire dans la cellule dont l'adresse est indiquée, ni comment afficher le résultat dans la cellule destinataire sans détruire la saisie initiale (=FonctionNombre(A1)) afin que la fonction soit à nouveau exécutée quand A1 est modifié.

    Au passage je suis preneur de tous renseignements sur les ouvrages ou les sites intéressants pouvant m'aider dans ma formation car il y a pléthore d’ouvrages impossible à sélectionner facilement.
    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    rajouter après

    function nombre(x as double) as string
    et utiliser comme une formule intégrée

    =nombre(a1)
    Elle est pas belle la vie ?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Citation Envoyé par Robert G Voir le message
    J'occupe mon temps libre (!!! chômage) à découvrir VBA. J'ai développé une macro sur Word qui traduit en lettre les nombres sélectionnés écrits en chiffre.
    Je voudrais porter cette macro sur Excel sous la forme d'une fonction et saisir dans une cellule quelque chose du style:
    =FonctionNombre(A1) pour obtenir dans la cellule la traduction du nombre saisi en A1.

    Je ne sais pas comment structurer ma fonction pour accéder à la valeur à traduire dans la cellule dont l'adresse est indiquée, ni comment afficher le résultat dans la cellule destinataire sans détruire la saisie initiale (=FonctionNombre(A1)) afin que la fonction soit à nouveau exécutée quand A1 est modifié.

    Au passage je suis preneur de tous renseignements sur les ouvrages ou les sites intéressants pouvant m'aider dans ma formation car il y a pléthore d’ouvrages impossible à sélectionner facilement.
    Merci
    Salut
    Pas le seul dans le cas
    Pour Excel, je trouves que les livres sont chers pour le peu de temps qu'ils servent.

    regarder les sujet, et leurs réponses, surtout les fichiers exemples est très enrichissant.

    Utilisant peu VBA sous word, je ne sais pas si ta fonction sera directement utilisable. Mais tu verras à l'usage.

    Une Function doit être dans un module général
    Certains te diront le contraire, mais l'obligation de déclaration des variables, si elle te fait perdre du temps en codage, celui-ci est largement compensé en debuggage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function Test_1(Plage_T As String) As Integer
    Application.Volatile
    Test_1 = Int(Range(Plage_T)) + 1
    End Function
    Function Test_2(Plage_T As Range) As Integer
    Application.Volatile
    Test_2 = Int(Plage_T) + 1
    End Function
    A1 : 1
    = test_1("A1") => affiche 2
    = Test_2(A1) => affiche 2

    Application.Volatile => recalcul de la fonction à chaque calcul de la feuille
    (chaque fois que la feuille change si calcul sur automatique)
    A+

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Merci
    Merci de votre aide à tous
    A+

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

Discussions similaires

  1. Intégration d'une fonction Excel dans VBA
    Par RéviAT dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/03/2008, 09h10
  2. recherche d'une fonction excel
    Par Zedr dans le forum Excel
    Réponses: 10
    Dernier message: 27/09/2007, 20h32
  3. Utiliser une fonction excel dans une macro et proprièté range
    Par bebel9313 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/08/2007, 14h25
  4. [FAQ][VBA-E] Traduire le nom d'une fonction excel
    Par SfJ5Rpw8 dans le forum Contribuez
    Réponses: 0
    Dernier message: 23/09/2006, 10h18
  5. [VBA-E] Une fonction Excel dans une fonction VBA
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/07/2006, 10h21

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