Code de sauvegarde qui fait défaut

bonjour a vous tous

dans ce code qui fonctionne bien, j'ai un souci de direction, je m'explique

quand c'est un devis la sauvegarde se fait bien dans "c:\Facture" & "\Devis\"

et quand c'est une facture ,facture sav où facture acompte elles vont aussi dans "c:\Facture" & "\Devis\"

et c'est que le code ne fait pas son boulot où que je l'ai mal modifier pour rajouter sav et acompte

Private Sub newfeuille_Click()
 Dim nom, chemin As Variant
 Dim plage As Range
 Dim DLig As Long
 With Sheets("facture")
    DLig = .Range("c65536").End(xlUp).Row

     Sheets("facture").Copy

     nom = Sheets("facture").Range("D17").Value & " - " & Sheets("facture").Range("J5").Value & ".xls"

     Select Case (Range("D1"))
      Case Is = "FACTURE": chemin = "c:\Facture" & "\Facture\"
         Case Is = "FACTURE SAV": chemin = "c:\Facture" & "\Facturesav\"
         Case Is = "FACTURE D'ACOMPTE": chemin = "c:\Facture" & "\Factureacompte\"
     Case Else: chemin = "c:\Facture" & "\Devis\"
     End Select

     ActiveWorkbook.SaveAs Filename:=chemin & nom, _
     FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
     ReadOnlyRecommended:=False, CreateBackup:=False
 MsgBox "Votre sauvegarde porte la référence : " & " " & nom

     DLig = .Range("C19").End(xlDown)(1).Row
     If DLig > 19 Then
         Set plage = .Range("C19:B" & .Range("C19").End(xlDown)(1).Row - 3)
         plage.EntireRow.Delete
     End If

 .Range("J5:J10").Value = ""
 End With

     'Sauvegarde les modifications
     ActiveWorkbook.Save
     ActiveWindow.Close
 End Sub

j'ai changer la destination en enlevant les &

"c:\Facture\Facturesav\"

mais cela n'a rien

changer

j'espère être suffisamment explicit

Pascal

Bonjour,

Mettre un . devant range("D1") :

Select case .Range("D1")

A+

bonsoir Galopin01

Merci de ta réponse mais cela ne change pas car tous vas dans devis

Pascal

Bonsoir

A vérifier : Si le nom en D1 correspond bien à tes Select ... Case

Espace avant ou après le nom

Sinon pas d'explication plausible

Bonjour Banzai64

oui " D1"est bien reconnu car lorsque je clic sur new feuille il me demande en cas de remplacement dans la sauvegarde si je veux remplacer et le début commence par la valeur de "D1"

Pascazl

Bonsoir

Si tu dis que peu importe le nom que tu places en D1 , le fichier est enregistré dans le répertoire prévue pour le cas Else, cela veut dire que ton nom en D1 n'est pas conforme avec tes Select

Vérifies pas exemple si dans la case D1 le mot "FACTURE" comporte une/plusieurs espaces soit en fin soit au début

Exemple "FACTURE " ou " FACTURE"

Si pas ça il faut faire des tests, et ton fichier est indispensable

bonjour banzai64

voici mon fichier qui sera plus parlant

https://www.cjoint.com/c/CFgwRyNmLFu

Pascal

Bonsoir

Avec le fichier que tu as fournis, la sauvegarde à bien lieu dans "c:\Facture" & "\Facturesav\" : Tout à fait normal car dans D1 il y a "FACTURE SAV"

Mais en cherchant j'ai vu que dans ton Userform "para_feuille" les macros associées à tes boutons remplissent la page "Facture" et entre autre la cellule D1

.Range("D1").Value = " FACTURE"

Tu vois qu'une espace est devant le nom

Et dans la macro "newfeuille_Click", tu compares D1 avec "FACTURE" sans l'espace

Case Is = "FACTURE": chemin = "c:\Facture" & "\Facture\"

Je te laisse corriger, vérifies les autres noms

bonjour Banzai64

je me sens penaud car j'avais tellement chercher la cause, que je n'en ai pas vu les espaces fautifs et ces espaces fautifs étaient meme été la cause du problème d'incrémentation

merci beaucoup a toi

sur ce fichier il me manque la possibilité de créer une facture sur devis

Pascal

Rechercher des sujets similaires à "code sauvegarde qui fait defaut"