The object does not support this action

Bonjour VBA forum users,

J'ai un petit souci avec une macro..

J'essaye d'ouvrir plusieurs fichier par une recherche dans un chemin (ci-dessous mon code), mais j'ai un message d'erreur "the object does not support this action.

pouvez vous me donner une solution

Sub Importer()

Dim chemin$, nomfichier$, classeur As Workbook, i&, pref$

Dim f As Worksheet

Set f = ActiveSheet

chemin = "H:\" 'adresse du fichier source

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row

pref = Range("A" & i)

nomfichier = Dir(chemin & pref & "*.xlsm*")

With Application.FileSearch

.NewSearch

.LookIn = "le chemin"

.Filename = "*nomfichier*"

Set classeur = Workbooks.Open(chemin & nomfichier)

Range("E8").Copy f.Range("B" & i)

Range("E9").Copy f.Range("C" & i)

classeur.Close False

End With

Next i

End Sub

Cordialement

Bonsoir,

FileSearch n'est plus autorisé depuis 2007.

Mais tu ne devrais pas en avoir besoin...

Cordialement.

Bonjour MFerrand ,

Et c'est quoi la solution..

merci d'avance,

Cdlt,

Bonjour,

Quelqu'un pourrait m'aider pour débloquer ma macro!! please

Bonjour,

Tes informations ne sont pas exhaustives... ! On est donc obligé en partie d'interpréter, et peut-être à tort !

On va donc supposer, puique tu n'ouvres apparemment qu'un seul fichier par tour de boucle, qu'il n'y en a qu'un à ouvrir dans le dossier visé à chaque tour. Le nom du fichier est donc fourni par Dir est contenu dans la variable nomfichier.

Il faut donc supprimer le With... FileSearch, les 3 lignes qui suivent et le End With (5 lignes à supprimer).

A la place du With, tester qu'un nom de fichier est trouvé : If nomfichier <> "" Then

A la place du End With, mettre : End If

Et si tout va bien ça doit marcher !

hello Mferrand,

Merci pour ton aide,

Alors je veux cherche dans un repertoire, un fichier excel dont le nom commence par les valeurs mentionnées dans la colonne A de mon fichier.

J'ai suivi tes inscructions, voici le code que j'ai fait mais ça ne fonctionne pas

Sub Importer()

Dim chemin$, nomfichier$, classeur As Workbook, i&, pref$

Dim f As Worksheet

Set f = ActiveSheet

chemin = "H:\"

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row

pref = Range("A" & i)

nomfichier = Dir(chemin & pref & "*.xlsm*")

If nomfichier <> "" Then

Set classeur = Workbooks.Open(chemin & nomfichier)

Range("E8").Copy f.Range("B" & i)

Range("E9").Copy f.Range("C" & i)

classeur.Close False

End If

Next i

End Sub

Mets ton code sous balise Code si tu veux qu'on le lise correctement.

Invalide provisoirement tout ce qui est entre If et End If et teste le contenu de nomfichier :

    MsgBox nomfichier

Cela permettra de voir s'il y a un contenu, et s'il correspond bien à un nom de fichier.

Sub Importer()
Dim chemin$, nomfichier$, classeur As Workbook, i&, pref$
Dim f As Worksheet
 Set f = ActiveSheet
 chemin = "H:\" 
 For i = 2 To Range("A" & Rows.Count).End(xlUp).Row

 pref = Range("A" & i)
 nomfichier = Dir(chemin & pref & "*.xlsm*")
If nomfichier <> "" Then
 Set classeur = Workbooks.Open(chemin & nomfichier)
 Range("E8").Copy f.Range("B" & i)
 Range("E9").Copy f.Range("C" & i)
 classeur.Close False
End If
Next i
End Sub

Salut !

J'ai un peu perdu le fil... Ça fonctionne ?

Ca ne fonctionne pas!

Pensez vous que y aurait un programme qui me permettrait d'ouvrir des fichiers dans un partage par un recherche?

Cordialement,

GA

3 août... 17 août... 29 août... ! Je ne garde pas en mémoire (la mienne ! ) les données du problèmes d'une date à la suivante avec de tels délais...

Il conviendrait donc de repartir à 0 et redéfinir le problème...

Je note aussi que les questions posées lors de posts précédents n'ont eu aucune réponse. Aucun élément d'éclaircissement n'a donc pu être apporté...

Cordialement.

Rechercher des sujets similaires à "object does support action"