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 :

Erreur 1004 méthode global a échoué [XL-2000]


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
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Par défaut Erreur 1004 méthode global a échoué
    Bonjour,

    je viens de parcourir le forum depuis un certain temps pour trouver une solution à mon problème mais sans succès.

    La procédure suivante est dans un module Access et doit lire une valeur dans un fichier Excel. Curieusement, une erreur 1004 "La méthode 'Range' de l'objet '_Global' a échoué" se produit une fois sur deux (pas à chaque fois !).

    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
    27
    28
    29
    Public Function PrixALire()
        Dim xlApp As New Excel.Application
        Dim xlClasseur As Workbook
        Dim maFeuille As Worksheet
        Dim maPlage As Range
     
        Dim strChemin As String
        strChemin = "X:\Dossier\fichier.xls"
     
        Set xlClasseur = xlApp.Workbooks.Open(strChemin)
        Set maFeuille = xlClasseur.Worksheets("Deplacements")
        Set maPlage = Range("Somme_Deplmt")
     
        xlApp.Visible = False
     
        If maPlage.Value <= 2000 Then
            PrixALire = 0.32
        Else
            PrixALire = 0.39
        End If
     
        xlClasseur.Close
        xlApp.Quit
     
        Set maPlage = Nothing
        Set xlClasseur = Nothing
        Set maFeuille = Nothing
     
    End Function
    Je précise que quand je remplace la ligne Range("Somme_Deplmt") par Cells(74, 3), le résultat est un peu plus fiable, c'est-à-dire l'erreur se produit moins souvent mais apparaît aussi finalement.

    Merci pour l'aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour et bienvenue.

    Il se peut que Déplacements ne soit pas la feuille active à l'ouverture du fichier. Or, si Somme_Deplmt est une plage de feuille et non de classeur, tu auras un problème.

    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set maPlage = maFeuille.Range("Somme_Deplmt")
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Par défaut
    Les premiers essais fonctionnent sans erreur. Mais comme l'erreur n'apparaissait pas à chaque coup (bien qu'elle se produisait le plus souvent au 1er ou 2e appel de la procédure), je me donnerai quelques jours pour un avis final.

    Merci beaucoup, je te tiendrai au courant

    MAJ du 3/4/10 :

    Je confirme. Ça fonctionne sans problème. Encore merci.

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

Discussions similaires

  1. [XL-2010] Erreur 1004 méthode range
    Par Ardiden31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/04/2015, 12h15
  2. [XL-2003] erreur 1004 méthode
    Par Soraphiroth dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2013, 15h57
  3. [XL-2000] TCD Erreur 1004 Méthode AddFields de la classe pivot
    Par crissud dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2010, 10h45
  4. Erreur 1004: La méthode "Range" de l'objet "_global" a échoué
    Par Froggy007 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 19/09/2008, 00h05
  5. [VB6] La méthode 'Sheets' de l'objet '_Global' a échoué (erreur 1004)
    Par koriteki dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/04/2008, 17h29

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