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 :

VBA appel à une function erreur compilation "tableau attendu"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    bénévole association
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : bénévole association

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Par défaut VBA appel à une function erreur compilation "tableau attendu"
    bonjour,
    nouvelle sur ce forum, j'ai un souci de compilation VBA "tableau attendu :
    Voici ma function (je souhaite mettre une couleur de fond en fonction de la valeur de TextBox) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function FCTCouleur_fond(RechValeur As String)
     
    Select Case RechValeur
        Case "OK"
            FCTCouleur_fond = vbGreen
        Case "KO"
            FCTCouleur_fond = vbRed
        Case "EN", "SN", "TN"
            FCTCouleur_fond = vbYellow
       End Select
     
    End Function
    Un des appels de la function :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        RechValeur = TextBox21.Value
        MsgBox "RechValeur = " & RechValeur
        TextBox21.BackColor = FCTCouleur_fond(TextBox21.Value)
        MsgBox "TextBox21.BackColor =  " & TextBox21.BackColor
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    bienvenue sur DVP

    Aurais-tu la ligne qui pose ce problème ?

    Il pourrait être pertinent dans un premier temps de typerlde retour de ta fonction (les couleurs sont de types numérique, donc tu peux utiliser As Long ou As Integer)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre à l'essai
    Femme Profil pro
    bénévole association
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : bénévole association

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Par défaut VBA appel à une function erreur compilation "tableau attendu"
    Bonjour,

    La ligne qui pose problème c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox21.BackColor = FCTCouleur_fond(TextBox21.Value)
    Déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Dim FCTCouleur_fond As Long
    Je joins mon fichier.
    Merci
    Fichiers attachés Fichiers attachés

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Ok, donc l'erreur est simple à corriger

    Lorsque tu utilises une fonction avec un libellé, tu ne pourras pas utiliser une variable qui porte le même nom dans le même module
    Analogie avec les chiens : tu ne peux pas appeler deux chiens dans la maison avec le meme prénom, sinon comment savoir lequel va venir, le chihuahua ou le dogue allemand

    Aussi, tu peux supprimer la ligne de Dim et ajouter en fin de déclaration de fonction As Long

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Function FCTCouleur_fond(RechValeur As String) As Long
    'le reste de ton code
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre à l'essai
    Femme Profil pro
    bénévole association
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : bénévole association

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Par défaut VBA appel à une function erreur compilation "tableau attendu"
    SUPER !!!

    Merci ça fonctionne.

    J'avance je vais passer à l'affichage de tableau... A bientôt peut-être ... certainement

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

Discussions similaires

  1. [E-03][Vba]faire une case totaux dans un tableau dynamique
    Par Overcrash dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2008, 11h39
  2. [exel-vba] lancer une Function apres la creation de la feuille
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2008, 10h55
  3. Appeller une function javascript de la page mère
    Par Anubis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/07/2007, 15h22
  4. [VBA] Appeler une requete venant d'une table liée ?
    Par fabiolous dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/05/2007, 20h33
  5. Page Html qui appel une function
    Par grimsk dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/09/2006, 20h01

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