Test enregistrement !

Résolu
Messages postés
308
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
23 mars 2010
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Bonjour à tous

J'ai un petit soucis sur un fichier Excel. J'ai un bouton enregistrer qui balance ce bout de code :

Sub Enregistrer_QuandClic()
    Dim NomFichier As String
    NomFichier = "c:" & Feuil1.Range("F5").Value
    NomFichier = NomFichier & ".xls"
    If Dir$("c:" & NomFichier & ".xls") = 1 Then
        ThisWorkbook.Save
    Else
        ThisWorkbook.SaveCopyAs NomFichier
    End If
    MsgBox "Sauvegarde terminée.", vbInformation, "Enregistrement"
End Sub

Ma logique est que : Quand l'utilisateur cliquera sur le bouton "Enregistrer" je voudrai que il cherche si le nom du fichier ouvert existe dans c:\ si il existe il fait un enregistrement normal sinon si ca existe pas il fait un enregistrer sous. L'erreur vient de la ligne en bleu. Sachant que dans la celulle F5 il y a toujours une valeur présente.

Merci de votre aide

_______________________ <<<< :-: 4L!@$ :-: >>>>

5 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,


En admettant que Feuil1.Range("F5").Value = toto

Si on suit ton code ligne a ligne
NomFichier "c:" & Feuil1.Range("F5").Value> NomFichier = "C:\toto" NomFichier NomFichier & ".xls" > NomFichier = "C:\toto.xls"
    If Dir$("c:" & NomFichier & ".xls") = 1 Then => ( Dir$("C:\C:\toto.xls.xls"

Est ce que tu trouve cela bien logique

Donc un simple Dir$(NomFichier) au lieu de Dir$("c:" & NomFichier & ".xls") devrait suffir






@+,   Ju£i?n
Messages postés
308
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
23 mars 2010

En effet il y avait une ligne en trop pour finir ca marche sous cette forme :

Sub Enregistrer_QuandClic()
    Dim NomFichier As String
    NomFichier = "c:" & Feuil1.Range("F5").Value & ".xls"


    If Dir$(NomFichier) <> "" Then
        ThisWorkbook.Save
    Else
        ThisWorkbook.SaveCopyAs NomFichier
    End If
    MsgBox "Sauvegarde terminée.", vbInformation, "Enregistrement"
End Sub

Merci

_______________________ <<<< :-: 4L!@$ :-: >>>>
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
If Dir$("c:" & NomFichier & ".xls") <> "" Then
















---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
308
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
23 mars 2010

Non dsl ca ne marche pas c'était mon code de départ aussi mais c'est toujours la même erreur 52 "Nom ou N° de fichier inccorect" alors que NomFichier renvoie bien "c:\toto.xls" c'est ca que j'ai du mal a comprendre...

_______________________ <<<< :-: 4L!@$ :-: >>>>
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Bien vu Julien, j'avais pas percuté. Je suis pas bien réveillé ce matin.

Et dire que j'ai failli lui proposer cette solution en plus, alors que c'était déjà fait LOL

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #