souci de sauvegarde

grisan29

XLDnaute Accro
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
Code:
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'espère être suffisamment explicit

Pascal
 

Pierrot93

XLDnaute Barbatruc
Re : souci de sauvegarde

Bonjour

Essaye peut être ceci :

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

Après, voir ce que contient la cellule D1 de la feuille active...

bonne journée
@+
 
C

Compte Supprimé 979

Guest
Re : souci de sauvegarde

BonjourGrisan29, salut Pierrot93 ;-)

Si l'enregistrement se fait systématiquement dans devis, qui correspond à la case "Else
C'est que la valeur de D1 n'est pas trouvée, essaye ceci
Code:
Private Sub newfeuille_Click()
  Dim Nom As String, Chemin As String
  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"
    ' Pour vérification de la valeur
    MsgBox "Valeur de D1 :" & UCase(Range("D1").Value)
    Select Case UCase(Range("D1").Value)
    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

2) pourquoi utiliser le "&" dans tes chemins d'accès
Code:
"c:\Facture" & "\Facturesav\"
alors qu'il suffit de faire
Code:
"c:\Facture\Facturesav\"

A+
 
Dernière modification par un modérateur:
C

Compte Supprimé 979

Guest
Re : souci de sauvegarde

Re,

Bonjour BrunoM45, Pierrot93
aucune de vos solutions a résolu le souci de tout enregistrement sous "c:\Facture" & "\Devis\"
Pascal
C'est bien pour ça que j'ai mis le message qui devrait s'afficher
Code:
MsgBox "Valeur de D1 :" & UCase(Range("D1").Value)

Pour la casse, c'est pour cette raison que j'ai mis
Code:
 Select Case UCase(Range("D1").Value)

A toi de nous dire ce que te retourne le message

A+
 

grisan29

XLDnaute Accro
Re : souci de sauvegarde

bonjour Pierrot93, BrunoM45

donc
Code:
Select Case UCase(Range("D1").Value)
fait bien son office peut importe le nom de la feuille qu'il y a bien en "D1", et le message comme quoi le fichier est bien enregistré est formel
Code:
MsgBox "Votre sauvegarde porte la référence : " & " " & nom
fonctionne bien également c'est bien le nom "D1"de la feuille qui est nommée
le message qui s'affiche pour me demander si je veux remplacer le fichier me dit qu'il est dans
Code:
c:\facture\devis
a ne rien y comprendre

Pascal
 

grisan29

XLDnaute Accro
Re : RESOLU souci de sauvegarde

bonjour a vous tous

Merci a BrunoM45:cool: qui m'a fait comprendre que des espaces entre crochet est néfaste au bon déroulement du code qui en dépend soit celui que j'ai fourni

Pascal
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux