Rechercher : dans
Par :

VB : Erreur 424 Object Requis

Dernière réponse le 17 jui 2008 à 17:48:24 boti59, le 17 jui 2008 à 17:08:01 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un probème lors de l'ouverture d'un classeur, Excel m'indique cette erreur :

Erreur 424 : Object Requis

J'ai beau retourner le programme dans tous les sens, je ne comprends pourquoi il ne veut pas ouvrir le classeur.
Voici le code

'------- MAJ THD V4 -----------------------------------------------------------
'Regoupement de tous les fichiers de résultats en un seul
If l > 1 Then
Workbook.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & ".XLS"
For m = 1 To l
'Regroupement
Workbook.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & m & ".XLS" 'ligne de l'erreur
Sheets.Copy Before:=Workbooks(NomFic & ".XLS").Sheets(1)
Windows(NomFic & m & ".XLS").Activate
ActiveWorkbook.Close
Next m
End If
'---------------------------------------------------------------------------------

Pourriez-vous m'aidez ?

Cordialement.

Thibaut
Pourquoi faire simple quand on peut faire compliquer ?

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « VB : Erreur 424 Object Requis » dans :
Codes d'erreur de Windows VoirLa liste ci-dessous détaille les codes d'erreur s'affichant dans les boîtes de dialogue sous Windows : Code Description ------------------------ 1 Fonction incorrecte. 2 Le fichier spécifié est introuvable. 3 Le chemin d'accès spécifié...
[IE] Erreur de script / Effectuer un débogage VoirDe temps en temps, lorsque vous naviguez sur le Net et que vous chargez une page Web, un message d'erreur de script survient : Une erreur est survenue. Une erreur est survenue sur le script de cette page. Souhaitez-vous effectuer un débogage...
[MSN] Erreur de connexion (80048820) VoirErreur 80048820 Avant toute modification sur votre système, vérifiez l'état des serveurs MSN Messenger, afin de déterminer si le problème ne vient pas de là : http://messenger.msn.com/Status.aspx?mkt=fr-fr Il peut également s'agir d'un problème...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Le contrôle des erreurs VoirLe contrôle d'erreurs Le codage binaire est très pratique pour une utilisation dans des appareils électroniques tels qu'un ordinateur, dans lesquels l'information peut être codée grâce à la présence ou non d'un signal électrique. Cependant le...
COM - Component Object Model VoirObjets COM Microsoft COM (Component Object Model) est un standard permettant de définir des API objet, c'est-à-dire permettant à des applications de communiquer par l'intermédiaire d'objets possédant un certain nombre de méthodes et de...

1

lermite222, le 17 jui 2008 à 17:12:51

Bonjour,
tu modifie..
If l > 1 Then
Workbook.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & ".XLS"
par
dim Fich as string
fich = chemin_resultat & prefixe_resultat & dossier.Name & ".XLS"
stop

la macro va s'arrèter sur le stop
tu tape ensuite dans la fenêtre exécution
Print Fich
et voit ce que cela donne, c'est sûrement pas la bonne adresse
A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

2

boti59, le 17 jui 2008 à 17:16:38

Merci lermite222,

j'ai déjà essayé de voir si il s'agissait d'une erreur dans le chemin en reproupant dans une seule variable et en l'imprimant dans un msgbox, le chemin est tout à fait le bon !

Cordialement. Pourquoi faire simple quand on peut faire compliquer ?

Répondre à boti59

6

boti59, le 17 jui 2008 à 17:38:55

Finalement, j'ai trouvé l'erreur, il s'agissait juste d'ajouter Application. devant Workbook.open, je ne sais pas pourquoi, mais à présent cela fonctionne :

'------- MAJ THD V4 -----------------------------------------------------------
'Regoupement de tous les fichiers de résultats en un seul
If l > 1 Then
MsgBox (chemin_resultat & prefixe_resultat & dossier.Name & ".XLS")
Application.Workbooks.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & ".XLS"
For m = 1 To l
'Regroupement
Application.Workbooks.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & m & ".XLS"
Sheets.Copy Before:=Workbooks(prefixe_resultat & dossier.Name & ".XLS").Sheets(1)
Windows(prefixe_resultat & dossier.Name & m & ".XLS").Activate
ActiveWorkbook.Close
Next m
End If
'-------------------------------------------------------------------------------

Merci tout de même lermite222 ! Pourquoi faire simple quand on peut faire compliquer ?

Répondre à boti59

9

 lermite222, le 17 jui 2008 à 17:48:24

J'emploi pourtant cette fonction depuis des années mais je met pas Filename:=
je fais Fich = chemin_resultat & prefixe_resultat & dossier.Name & ".XLS"
Workbooks.Open Fich
et j'ai jamais eu de problème.
Enfin, puisque ca marche...
A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

3

boti59, le 17 jui 2008 à 17:19:00

La ligne de l'erreur n'était pas la bonne :

'------- MAJ THD V4 -----------------------------------------------------------
'Regoupement de tous les fichiers de résultats en un seul
If l > 1 Then
Workbook.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & ".XLS" 'ligne de l'erreur
For m = 1 To l
'Regroupement
Workbook.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & m & ".XLS"
Sheets.Copy Before:=Workbooks(NomFic & ".XLS").Sheets(1)
Windows(NomFic & m & ".XLS").Activate
ActiveWorkbook.Close
Next m
End If
'-----------------------------------------------------------­---------------------- Pourquoi faire simple quand on peut faire compliquer ?

Répondre à boti59

4

lermite222, le 17 jui 2008 à 17:20:26
  • +1

C'est le 1er classeur ou les suivants qui bugg ?
EDIT:
J'ai poster après ton dernier message, c'est où que ca bugg ? L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

5

boti59, le 17 jui 2008 à 17:28:12

Il s'agit du premier classeur, tu l'avais compris bien que j'ai mal indiqué la ligne d'erreur.

cdt Pourquoi faire simple quand on peut faire compliquer ?

Répondre à boti59

7

lermite222, le 17 jui 2008 à 17:40:42

Je pense à une chose, le classeur qui contient la macro... il s'appel COMMENT ? L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

8

boti59, le 17 jui 2008 à 17:47:06

Désolé j'ai mal posté ma réponse, elle est tombé plus haut tu ne la sans doute pas vu :

Finalement, j'ai trouvé l'erreur, il s'agissait juste d'ajouter Application. devant Workbook.open, je ne sais pas pourquoi, mais à présent cela fonctionne :

'------- MAJ THD V4 -----------------------------------------------------------
'Regoupement de tous les fichiers de résultats en un seul
If l > 1 Then
MsgBox (chemin_resultat & prefixe_resultat & dossier.Name & ".XLS")
Application.Workbooks.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & ".XLS"
For m = 1 To l
'Regroupement
Application.Workbooks.Open Filename:=chemin_resultat & prefixe_resultat & dossier.Name & m & ".XLS"
Sheets.Copy Before:=Workbooks(prefixe_resultat & dossier.Name & ".XLS").Sheets(1)
Windows(prefixe_resultat & dossier.Name & m & ".XLS").Activate
ActiveWorkbook.Close
Next m
End If
'-----------------------------------------------------------­--------------------

Merci tout de même lermite222 ! Pourquoi faire simple quand on peut faire compliquer ?

Répondre à boti59
Collection CommentÇaMarche.net