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

Word Discussion :

Ouvrir un fichier Exel dans VBA - Erreur d'exécution 424 Objet requis


Sujet :

Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Ouvrir un fichier Exel dans VBA - Erreur d'exécution 424 Objet requis
    Bonjour à tous,

    je m'échine depuis des heures à essayer d'ouvrir un fichier dans une macro pour récupérer des données dans un fichiers Word.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks.Open "C:\Users\...\FICHIER.xlsx"
    L'erreur doit être simplissime mais je ne trouve pas. J'ai vérifié 15x le chemin et j'ai essayé plusieurs syntaxes qui n'ont rien donné...

    Quelqu'un est-il en mesure de me sortir de ce pétrin ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ulyssep Voir le message
    Bonjour,

    Il vous faut créer et travailler avec un objet Excel.Application. L'avez-vous créé ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bonjour Eric et merci pour votre réponse.

    Alors avec la précision que vous m'avez apportée, j'ai effectivement découvert que VBA ne connaît pas Workbooks dans Word et qu'il faut passer par un Excel.Application. J'ai donc ajouté ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Set excel = CreateObject("excel.application")
     
    excel.Workbooks.Open "c:\Users\...\Fichier.xlsx"
     
    Wbex= excel.ActiveWorkbook.Name
    Du coup les choses fonctionnent correctement et je vous en remercie. Mais maintenant je butte sur l'étape suivante : la récupération des données.

    En effet avec ce qu'il lit dans le tableau, je lui demande de le mettre dans des variables comme ceci :

    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
    30
    31
    32
     
    Dim Var As String
    Dim Somme As String
    Dim Partie As String
    Dim i As Integer
    Dim y As Integer
    For y = 2 To 5  ' boucle des colonnes
        For i = 2 To 17 ' boucles des lignes
     
            Select Case y
                Case Is = 2
                    Partie = "Dem"
                Case Is = 3
                    Partie = "TP"
                Case Is = 4
                    Partie = "Def"
                Case Is = 5
                    Partie = "Jgt"
            End Select
     
            Var = Partie & exl.Workbooks(tablo).Sheets(1).Cells(i, 1)
            Somme = exl.Workbooks(tablo).Sheets(1).Cells(i, y)
     
            AddVariables Var, Somme            ### ici s'opère normalement la récupération via une Sub AddVariables
     
            End With
        Next i
    Next y
     
    exl.Workbooks(tablo).Close SaveChanges:=False
     
    Windows(ControlFile).Activate
    Le problème c'est que quand je consulte les variables ensuite il me dit Erreur d'exécution 5825 L'objet a été supprimé.

    Que puis-je faire ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ulyssep Voir le message
    Ci-joint, une macro qui peut vous servir de support :

    • Mettez Option Explicit pour forcer la déclaration des variables. Vous pouvez le paramétrer par défaut dans l'éditeur VBA Outils-Options-Editeur.
    • N'utilisez pas de mots réservés pour déclarer vos variables (Excel).

    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
    30
     
    Option Explicit
     
    Sub OuvrirUnFichierExcel()
     
    Dim xlApp As Object
    Dim FichierExcel As Object
    Dim FichierAOuvrir As Variant
    Dim Repertoire As String
     
           Set xlApp = CreateObject("Excel.Application")
           Repertoire = ActiveDocument.Path  ' A adapter
           FichierAOuvrir = Repertoire & "\" & "fichier_liste.xlsm"
           With xlApp
               .Visible = True
              Set FichierExcel = .workbooks.Open(FileName:=FichierAOuvrir)
              With FichierExcel
     
                   ' Votre code à insérer
     
                   .Close savechanges:=False
     
              End With
              Set FichierExcel = Nothing
          End With
     
          xlApp.Quit
          Set xlApp = Nothing
     
    End Sub

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Merci pour votre proposition Eric. Le code est clair et très pratique mais il n'a pas solutionné mon problème. J'ai pourtant fait figurer l'option et ait également mis en place le paramètre par défaut mais rien n'y fait.

    J'ai également tenté de réécrire le code de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Documents(1).Variables.Add Name:=Var, Value:=Somme
    Mais pas davantage de résultat.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Rectification... Je ne sais trop comment j'y suis parvenu mais cela fonctionne ! Un grand merci Eric pour votre aide précieuse. Le VB peut être cruel par moment...

    Je laisse mon code concernant les variables si ça peut aider une autre âme en peine à l'avenir même s'il n'est pas extraordinaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim ControlFile As Document
    Set ControlFile = ActiveDocument
     
                        With ControlFile
                            .Variables.Add Name:=Var, Value:=Somme
                        End With

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/07/2016, 20h09
  2. Erreur d'excution '424' objet requis
    Par mjlaurent dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2013, 16h43
  3. Erreur d'exécution '424', objet requis
    Par JPierreM dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2012, 14h07
  4. Erreur d'exécution '424':objet requis
    Par argaz01 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/06/2010, 15h02
  5. [OL-2003] Erreur d'exécution '424' : Objet requis
    Par ptitemeuh dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 25/05/2010, 11h32

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