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 :

Sub introuvable !


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2009
    Messages : 44
    Par défaut Sub introuvable !
    Bonjour ;

    j'ai un petit soucis que je n'ai jamais rencontré avant ce jour. J'ai écris une petite procédure ayant la syntaxe suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Public Sub DecalesTousLesSousTotaux(ByRef Pas As Integer)
        ' Corps de ma procédure ici.
    End Sub
    Lorsque je commence à taper une formule à l'intérieur de la barre de formule "=DecalesTousLesSousTotaux(SI(C3="Oui";1;-1))", la liste d'assistance qui contient toutes les fonctions ne contient pas ma procédure ! Lorsque je met à la place du mot clé Sub le mot Function, alors elle apparaît dans la liste des fonctions.

    Que ce passe-t-il ?

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    bonjour,

    Ben, tu as répondu toi-même à ta question, une Sub est une Sub et une fonction, une fonction...

    vois ici :

    Créer et utiliser des fonctions personnelles dans Excel


    cordialement,

    Didier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2009
    Messages : 44
    Par défaut
    Merci Ormonth pour votre réponse, alors comment appeler ma procédure dans une cellule ?

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Euh,
    c'est clair soit on fait une procédure Function selon les règles, soit on fait une Sub et on ne peut l'invoquer dans une formule.

    On peut déclencher une Sub par action sur un bouton ou un évènement de feuille par exemple.

    Le mieux serait d'expliquer ce que doit faire le code ou ce que vous voulez qu'il fasse, mais une fonction est faite pour retourner un résultat, c'est tout.

    cordialement,

    Didier

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2009
    Messages : 44
    Par défaut
    Merci pour les explications.

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Je rajouterais qu'il n'est pas logique de vouloir utiliser une Sub.
    La sub (procédure) ne revoie aucune valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Essai()
    [...]
    End Sub
    la function, elle, retourne un valeur de type défini par l'utilisateur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function Essai() as String 'renvoie un string
    [...]
    Essai = "C'est bon"
    end function
    ici on retourne "C'est bon" qui va s'inscrire dans la cellule contenant la formule.
    On peut definir d'autre type de retour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Essai() as Integer 'renvoie un entier
    Function Essai() 'renvoie un variant
    'etc... tous types compatible avec le contenu d'une cellule
    Lorsque tu mets une formule dans une cellule, tu attends bien que le contenu de ta cellule change, en fonction de ce que te retour ta formule. Le résultat retourné par ta formule est bien celui retourné par ta fonction.

    Actuellement que comptes tu faire avec ta procédure? car il y a une règle avec les formule perso qui t'interdit de modifier une cellule autre que celle dans laquelle ta formule se trouve.
    En claire:
    Si ta formule est dans A2, il ne t'ai pas possible de modifier le contenu de A3 a l'aide de cette formule.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/05/2009, 15h39
  2. [syntaxe] erreur introuvable
    Par JohnnyC dans le forum Outils
    Réponses: 2
    Dernier message: 29/04/2004, 11h26
  3. pgMyAdmin introuvable
    Par ovh dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/06/2003, 10h11
  4. [warning][properties]problème de police introuvable
    Par cyrdec dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/04/2003, 18h41
  5. [] Datareport.orientation introuvable même avec sp5
    Par khany dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/01/2003, 11h06

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