Rechercher et ouvrir ou creer un fichier a partir d une donnee?

bleck

XLDnaute Nouveau
Bonsoir a tous,

Tous mes fichiers sont dans un meme classeur. Puis je a partir d un fichier ouvert (qui sera toujours le meme, et dans le meme classeur) , en introduisant une donnee correspondant au nom d un des fichiers present dans le classeur, obtenir l ouverture de celui ci ou s il n existe pas , la creation d un nouveau fichier qui gardera le nom de la donnee introduite?

Merci d avance pour votre aide
 

bleck

XLDnaute Nouveau
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Salut et merci pour ta reponse ,

Seulement son existence, mais je n'en maitrise pas l'art de l'ecriture.
j'ai trouver des macros dans le forum qui permettent la recherche et l'ouverture , mais aucune qui crée le nouveau fichier.

BR
 

Staple1600

XLDnaute Barbatruc
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Bonsoir


Et pourtant ...

Code:
Sub test()
Dim f$
f = ThisWorkbook.Sheets(1).[A1].Text & ".xls"
If Dir("C:\Temp\" & f) <> "" Then
MsgBox "Le fichier " & f & " existe déjà"
Else
Workbooks.Add
ActiveWorkbook.SaveAs ("c:\temp\" & f)
End If
End Sub

Ici on trouvait
https://www.excel-downloads.com/threads/utilisation-de-fileexists-en-vba.22619/
 

bleck

XLDnaute Nouveau
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Merci Staple,

je ne voudrais pas abuser car c'est bien sympa de ta part de ne pas m'avoir laisse abandoné,

mais serait il possible que le fichier s'ouvre au lieu d'avoir le message d'existence?

Merci encore
 

Staple1600

XLDnaute Barbatruc
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Re



Cela semblait évident pourtant non ?
Code:
Sub test_ouvrir()
Dim f$
f = ThisWorkbook.Sheets(1).[A1].Text & ".xls"
If Dir("C:\Temp\" & f) <> "" Then
Workbooks.Open ("C:\Temp\" & f)
Else
Workbooks.Add
ActiveWorkbook.SaveAs ("c:\temp\" & f)
End If
End Sub
 

bleck

XLDnaute Nouveau
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Merci , merci, merci.....

Effectivement maintenant que tu l'as ecrit, cela parait d'une logique implacable. ne connaissant rien en VBA, j'avais par deduction tenté de remplacer la ligne de message par
Workbooks.Open mais ca me sortait en erreur, je sais maintenant que c'est parceque je n'avais pas mis l'emplacement et le nom du fichier a ouvrir, enfin tout du moins c'est ce que je suppose.
Par contre j'ai un petit probleme quand j'execute la macro, quand le fichier existe deja, j'ai un message qui me donne l'option de le remplacer.Si je dis oui il m'ouvre un nouveau fichier au meme nom et si je dis non il m'ouvre un nouveau fichier sans titre, mais impossible d'ouvrir le fichier existant.
Et là, j'ai beau tenter faire appel a la logique, je plante lamentablement.

merci pour ton aide
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Re


Chez moi cela fonctionne sans bug.

Voici une version améliorée.

Code:
Sub test_ouvrir()
Dim f$, check
f = ThisWorkbook.Sheets(1).[A1].Text & ".xls"
If Dir("C:\Temp\" & f) <> "" Then
Workbooks.Open ("C:\Temp\" & f)
Else
check = MsgBox("Voulez-vous créer un nouveau fichier nommé : " & f & " ?", vbQuestion + vbYesNo, "Création fichier")
If check = vbYes Then
Workbooks.Add
ActiveWorkbook.SaveAs ("c:\temp\" & f)
Else
Exit Sub
End If
End If
End Sub
 
Dernière édition:

bleck

XLDnaute Nouveau
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Ca y est ça marche, merci beaucoup.
sans vouloir profiter de ta generosite,
au lieu d' un fichier vierge lors de la creation , pourrait il s'utiliser un modele?
Bonne nuit
 

bleck

XLDnaute Nouveau
Re : Rechercher et ouvrir ou creer un fichier a partir d une donnee?

Tout marche parfaitement, merci a vous deux. De voir comme tout peut se resoudre de façon aussi rapide ça me donne envie d'en savoir plus. Sachant que je suis ignorant total, que me conseilleriez vous comme premiere approche?
En vous remerciant de partager votre savoir, sur qu'en donnant l'exemple comme vous le faites, de nombreux autres neophytes chercheront a savoir comment ça marche.

bonne nuit
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 016
dernier inscrit
Mokson