RRecherche nom fichier dans un dossier et l'ouvrir

Bonjour tout le monde,

J'ai un petit soucis dans une partie de mon code VBA. Je m'explique:

J'ai un onglet dans une feuille de mon classeur contenant plusieurs nom de sociétés (153 pour être précis)

Je voudrais créer une petite macro qui me permettrait de venir vérifier le contenu des cellules 1 à 153 de ma feuille (lire les valeurs) et d'ouvrir le fichier excel du même nom dans un dossier sur mon bureau.

J'ai donc écris ce petit bout de code:

For i = 1 To 153

Set Wsrecup = Workbooks("Classeur 1")

Sheets("Sociétés").Select

valeur = Cells(i, 1).Value

Workbooks.Open Filename:="C:..chemin..." & valeur & ".xlsx"

Next i

Mon problème est que le programme marche convenablement, mais dès qu'il ne trouve pas le nom d'une société dans le dossier sur mon bureau (par exemple à la lecture de la 3e case, le fichier est introuvable mais celui de la 4e case est bien présent dans le dossier), il s’arrête. En gros je voudrais simplement qu'il vérifie le contenu des 153 cellules et qu'il aille voir dans le dossier s'il trouve ne serait-ce qu'un fichier excel du même nom dans le dossier sur mon bureau à chaque fois que je lance la macro.

C'est la que je bloque donc si quelqu'un a une petite idée, il me sauverait la vie.

Bonjour Sparks,

je pense que dans ton cas, il te faudrait un bout de programme de gestion des erreurs, mais personnellement, je ne maîtrise pas le sujet...

Donc t'auras ptet plus de précisions par quelqu'un d'autre mais sinon, je te conseille de chercher dans cette direction.

J'ai déjà des bouts de codes avec "On error go next" ça pourrait être quelque chose à creuser!

Bon courage en tout cas!

Bonjour

Essayes

For i = 1 To 153
  Set Wsrecup = Workbooks("Classeur 1")
  Sheets("Sociétés").Select
  valeur = Cells(i, 1).Value
  If Dir("C:..chemin..." & valeur & ".xlsx") <> "" Then
    Workbooks.Open Filename:="C:..chemin..." & valeur & ".xlsx"
    '...
End If
Next i

Salut ReuK et Banzai64

Merci pour vos réponses rapides

Reuk j'ai essayé avec une gestion des erreurs mais j'ai toujours le même problème

Banzai64 j'ai essayé avec ta modification mais il bloque toujours. Il refuse de "sauter" la 3e cellule qui ne se trouve pas dans le fichier et il n'ouvre pas la 4e qui elle s'y trouve.

Ahh non ça marche effectivement milles excuses

Par contre il se trouve que après avoir ouvert le fichier, une autre partie de la macro doit effectuer qqchse (en gros récupérer des valeurs et les coller dans une base de données.

donc ça donne:

Set shtrecup = Workbooks("Classeur 1").Sheets("sociétés")

For i = 1 To 153

valeur = shtrecup.Cells(i, 1).Value

If Dir("C...Chemin..." & valeur & ".xlsx") <> "" Then

Workbooks.Open Filename:="C...." & valeur & ".xlsx"

End If

...Suite du programme après ouverture du fichier....

Et la je ne sais pas ou placer ce fameux "Next i"

RE

Désolé pour le double post mais c'est bon j'ai trouvé comment placer ce Next i et ça marche parfaitement!!

Merci encore

Toujours aussi bon ce banzaï!

Alors sparx, juste pour la lisibilité de ton code, regarde dans le panneau d'édition des messages, t'as plein de bouton au dessus, dont un "Code" qui va te mettre des balises et mettre le code en forme dans le post!

Perso, je te proposerai de faire de la "programmation spaghetti" comme j'avais pu le lire quelque part, bref utiliser un GoTo !

Du style :

If Dir("C...Chemin..." & valeur & ".xlsx") <> "" Then
Workbooks.Open Filename:="C...." & valeur & ".xlsx"
Else
GoTo SautProg1:
End If

...Suite du programme après ouverture du fichier....

SautProg1:
Next i

Y a ptet plus clean, mais plus simple je connais pas!

Rechercher des sujets similaires à "rrecherche nom fichier dossier ouvrir"