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 :

evaluate ou executeExcel4macro


Sujet :

Macros et VBA Excel

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut evaluate ou executeExcel4macro
    bonjour a tous
    juste pour ma culture j'aimerais savoir pourquoi evaluate me renvoie une erreur alors que la formule est bonne dans une cellule ou avec executeExcel4macro


    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
    Sub test2()
    Dim repertoire$, fichier$, feuille$
     
        repertoire = "C:\Users\polux\DeskTop\"
        fichier = "toto.xlsm"
        feuille = "Alerte_qualité_fournisseur"
     
        Formula1 = "'" & repertoire & "[" & fichier & "]" & feuille & "'!" & "R4C3"
        If Not IsError(ExecuteExcel4Macro(Formula1)) Then
            MsgBox ExecuteExcel4Macro(Formula1)
        End If
        Debug.Print Formula1
     
        Formula2 = "='" & repertoire & "[" & fichier & "]" & feuille & "'!" & "R4C3"
        If Not IsError(Evaluate(Formula2)) Then
            MsgBox Evaluate(Formula2)
        End If
        Debug.Print Formula2
     
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    juste pour ma culture j'aimerais savoir pourquoi evaluate me renvoie une erreur alors que la formule est bonne dans une cellule ou avec executeExcel4macro
    Je ne comprends pas bien ta question.

    Ta cellule contient-elle une formule classique Excel ou une vieille macro comme on en faisait avant VBA ?

    En supposant que c'est le premier cas, je ne comprends pas ton problème : puisque la formule est dans une cellule, pour l'évaluer, il suffit d'utiliser la propriété Value de la cellule, non ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour Menhir
    je parle de valeur a récupérer dans un fichier fermé il n'est pas question d'évaluer une formule d'une cellule d'un le fichier fermé

    je souhaiterais si c'est possible que la méthode evaluate me donne la même chose que ExecuteExcel4Macro dans le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test2()
    Dim repertoire$, fichier$, feuille$
     
        repertoire = "C:\Users\polux\DeskTop\"
        fichier = "toto.xlsm"
        feuille = "Feuil1"
     
        Formula1 = "'" & repertoire & "[" & fichier & "]" & feuille & "'!" & "R4C3"
        If Not IsError(ExecuteExcel4Macro(Formula1)) Then
            MsgBox ExecuteExcel4Macro(Formula1)
        End If
        Debug.Print Formula1
     
    End Sub
    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
    Sub test3()
    Dim repertoire$, fichier$, feuille$
     
        repertoire = "C:\Users\polux\DeskTop\"
        fichier = "toto.xlsm"
        feuille = "Feuil1"
     
     
    Formula2 = "='" & repertoire & "[" & fichier & "]" & feuille & "'!" & "R4C3"
        If Not IsError(Evaluate(Formula2)) Then
            MsgBox Evaluate(Formula2)
        End If
        Debug.Print Formula2
     
    End Sub
    la formule2 fonctionne quand je la met dans une cellule du fichier B ,le fichier A etant celui qui est déterminé dans la formule2 donc evaluate devrait me le sortir aussi non ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Si c'est pour lire dans un fichier fermé, je ne saurais pas répondre.
    J'ai toujours évité de faire de genre de chose.

    Un détail quand même : normalement, la formule qu'on donne à un Evaluate ne commence pas par "=".
    https://docs.microsoft.com/fr-fr/off...ation.evaluate
    Références externes. Vous pouvez utiliser l' ! opérateur pour faire référence à une cellule ou à un nom défini dans un autre classeur; par exemple, Evaluate("[BOOK1.XLS]Sheet1!A1").
    Je n'ai pas de certitude sur le sujet mais je serais prêt à parier une pièce que ça ne fonctionne pas sur les fichiers fermés, un peu comme la fonction Excel INDIRECT().
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. [SGBD]Evaluation du temps d'une transaction
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 26/10/2004, 17h53
  2. [CR10] Fonction evaluate time
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 15/10/2004, 15h06
  3. Evaluation d'un nom de fonction
    Par uaz dans le forum Général Python
    Réponses: 1
    Dernier message: 04/08/2004, 11h16
  4. Un outil pour evaluer les dépendances
    Par karbone dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 30/03/2004, 14h36
  5. Evaluation d’expression
    Par mobisky dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 09/09/2002, 11h56

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