Créer une nouvelle feuille si elle n'existe pas

Bonjour,

Je suis en train de créer un fichier Excel à partir duquel la maintenance de ma société doit pouvoir accéder à d'autres fichiers excels représentant les fiches techniques des machines présentes sur site.

Jusque là je me suis débrouillé, j'ai créé un userform avec une combobox qui liste les machines et j'ai créé le script qui ouvre un lien hypertexte vers le fichier voulu.

Voici le code que j'ai créé (peut être y a-t-il mieux mais ce n'est pas le sujet ) :

Private Sub CommandButtonValid_Click()
    Range("A4").Value = ComboBox1.Value
        If Range("a4").Value = Range("b4").Value Then
        Range("B4").Select
            Workbooks.Open Filename:= _
                "\\192.168.12.10\Documents\DIVERS\A.Dupuis\Maintenance_Info\Maintenance\Nomenclature_Fiche\" & Range("a4").Value & ".xls"
                    ActiveWindow.Visible = False
                    Windows(Range("b4") & ".xls").Visible = True
        End If
End Sub

Le soucis c'est que j'ai fait le lien pour une fiche technique et que je dois avoir environ 200 machines et sous machines.

Donc ma question est :

Est-il possible de rajouter une ligne de code pour lui dire que si la fiche technique n'existe pas, dans ce cas il faut prendre une fiche technique, la copier, la renommer et l'ouvrir ?

Le cas échéant, juste l'ouvrir ?

Dans l'attente de votre réponse, merci à vous.

MFT56320

Bonjour

Ton titre indique la création d'une feuille alors que dans ton code cela serait plutôt d'avoir un nouveau fichier

Sans fichier de test

Il faut que tu aies un fichier modèle.xls dans le répertoire (ou alors tu peux modifier le chemin et le nom du fichier modèle)

Pas testé

Private Sub CommandButtonValid_Click()
Dim Chemin As String

  Chemin = "\\192.168.12.10\Documents\DIVERS\A.Dupuis\Maintenance_Info\Maintenance\Nomenclature_Fiche\"
  Range("A4").Value = ComboBox1.Value
  If Range("a4").Value = Range("b4").Value Then

    If Dir(Chemin & Range("a4").Value & ".xls") = "" Then
      Name Chemin & "Modèle.xls" As Chemin & Range("a4").Value & ".xls"
    End If

    Workbooks.Open Filename:=Chemin & Range("a4").Value & ".xls"
    ActiveWindow.Visible = False
    Windows(Range("b4") & ".xls").Visible = True
  End If
End Sub

Re,

Merci pour la rapidité de ta réponse.

Et oui je me suis trompé c'est bien un nouveau fichier et pas une nouvelle feuille (autant pour moi je ne me suis pas relu)

Je fais les test et je vous dis quoi...

A ++

Bonjour,

J'ai donc effectué le test du script que tu m'as transmis, et cela fonctionne très bien .

Le seul Hic, c'est que le fichier Modèle.xls s'efface ou se renomme après avoir pris le nom de la machine dans le choix de ma combobox.

Sinon c'est exactement ça que je veux, merci pour ta rapidité.

A ++

Bonjour

C'est pour ça que j'avais noté "Pas testé"

Toujours pas teste

A voir

https://forum.excel-pratique.com/excel/copier-fichiers-xls-vers-repertoire-t26489.html#p150986

Private Sub CommandButtonValid_Click()
Dim Chemin As String
Dim fso As Object

  Chemin = "\\192.168.12.10\Documents\DIVERS\A.Dupuis\Maintenance_Info\Maintenance\Nomenclature_Fiche\"
  Range("A4").Value = ComboBox1.Value
  If Range("a4").Value = Range("b4").Value Then

    If Dir(Chemin & Range("a4").Value & ".xls") = "" Then
    'http://forum.excel-pratique.com/excel/copier-fichiers-xls-vers-repertoire-t26489.html#p150986
      Set fso = CreateObject("Scripting.FileSystemObject")
      fso.CopyFile Chemin & "Modèle.xls", Chemin & Range("a4").Value & ".xls"
    End If

    Workbooks.Open Filename:=Chemin & Range("a4").Value & ".xls"
    ActiveWindow.Visible = False
    Windows(Range("b4") & ".xls").Visible = True
  End If
End Sub

re,

ok je prends note la prochaine fois j'enverrais un fichier de test.

A plus.

Bonjour tous,

Une autre idée (pas tester non plus ..)

If Dir(Chemin & Range("a4").Value & ".xls") = "" Then
     Workbook( Chemin & "Modèle.xls").SaveAs  Chemin & Range("a4").Value & ".xls"
End If

Bofff..

A+

Bonjour,

Un grand merci à toi Banzaï64, ce que tu m'as donné comme script fonctionne à la perfection (même sans fichier test).

Je mettrais un fichier test pour ma prochaine demande c'est promis !^_^!

Bonne continuation et à +++++

Rechercher des sujets similaires à "creer nouvelle feuille existe pas"