VB : Erreur 424 Object Requis

Résolu
boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
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 ?
A voir également:
  • Objet requis vba
  • Vb - Télécharger - Langages
  • Vb cable - Télécharger - Audio & Musique
  • Vb editor - Télécharger - Langages
  • Vb runtime - Télécharger - Divers Utilitaires
  • Vb express - Télécharger - Langages

4 réponses

boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
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
'-----------------------------------------------------------­----------------------
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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+
-1
boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
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.
-1
boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
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 !
-1
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191 > boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
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+
-1
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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 ?
-1
boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
Il s'agit du premier classeur, tu l'avais compris bien que j'ai mal indiqué la ligne d'erreur.

cdt
-1
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Je pense à une chose, le classeur qui contient la macro... il s'appel COMMENT ?
-1
boti59 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
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 !
-1