IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sauvegarde non effectuée [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut Sauvegarde non effectuée
    bonjour a vous tous
    depuis la discussion
    http://www.developpez.net/forums/d12...leurs-valeurs/
    je n'ai fait que remplacer des lignes de codes c'est un peu mieux mais reste une erreur 1004 de plusieures solutions
    donc voici ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Private Sub nouvellefeuille_Click()
    Dim shFact As Worksheet, shNew As Worksheet, wbNew As Workbook
    Set shFact = Sheets("Facturation")
    Set shNew = Sheets.Add
     Dim Mot As String
     Dim nom, chemin As Variant
     
    shFact.Cells.Copy
    shNew.Range("A1").PasteSpecial xlPasteValues
    shNew.Range("A1").PasteSpecial xlPasteFormats
     
    shNew.Move
    nom = Sheets("facturation").Range("D17").Value & "-" & Sheets("facturation").Range("J5").Value & ".xls"
    chemin = "C:\Save_Devis_ExcelGStock\Devis"
     
    ActiveWorkbook.SaveAs Filename:=chemin & nom, _
    FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
     
    If [MTTC].Row - 9 > 19 Then
        shFact.Range("C19:C" & [MTTC].Row - 9).EntireRow.Delete
    ElseIf [MTTC].Row - 9 = 19 Then
        shFact.Range("C19").EntireRow.Clear
    End If
    shFact.Range("J5:J8").ClearContents
    shFact.Range("C16").ClearContents
    Select Case UCase(shFact.Range("D1"))
        Case Is = "FACTURE"
            Range("S7") = Range("S7") + 1
        Case Is = "DEVIS"
            Range("S8") = Range("S8") + 1
    End Select
     
    End Sub
    sachant que "C:\Save_Devis_ExcelGStock\est le dossiers d'archivage et dans lequel il y a des sous dossiers "devis et facture"
    si vous avez une réponse a me donner car je planche dessus depuis un moment

    cordialement

    Pascal

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, déjà, sans aller plus loin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim nom As String, chemin As String
     
    ...Filename:=chemin & "\" & nom
    , après c'est toujours le même drame du copier/coller d'un code non maitrisé.

  3. #3
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    Bonjour kiki29
    merci des rectifications que j'ai appliqué mais cela ne changent pas
    toujours la meme ligne qui rentre en défaut soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom = Sheets("facturation").Range("D17").Value & "-" & Sheets("facturation").Range("J5").Value & ".xls"
    et le code rectifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Private Sub nouvellefeuille_Click()
    Dim shFact As Worksheet, shNew As Worksheet, wbNew As Workbook
    Set shFact = Sheets("Facturation")
    Set shNew = Sheets.Add
     Dim Mot As String
     Dim nom, chemin As String
     
    shFact.Cells.Copy
    shNew.Range("A1").PasteSpecial xlPasteValues
    shNew.Range("A1").PasteSpecial xlPasteFormats
     
    shNew.Move
    nom = Sheets("facturation").Range("D17").Value & "-" & Sheets("facturation").Range("J5").Value & ".xls"
    filename: chemin = "C:\Save_Devis_ExcelGStock\Devis"
     
    ActiveWorkbook.SaveAs filename:=chemin & "\" & nom, _
    FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
     
    If [MTTC].Row - 9 > 19 Then
        shFact.Range("C19:C" & [MTTC].Row - 9).EntireRow.Delete
    ElseIf [MTTC].Row - 9 = 19 Then
        shFact.Range("C19").EntireRow.Clear
    End If
    shFact.Range("J5:J8").ClearContents
    shFact.Range("D17").ClearContents
    Select Case UCase(shFact.Range("D1"))
        Case Is = "FACTURE"
            Range("S7") = Range("S7") + 1
        Case Is = "DEVIS"
            Range("S8") = Range("S8") + 1
     
    End Select
     
    End Sub
    Pascal

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si la feuille facturation appartient au classeur contenant ton code, fais comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ThisWorkbook.Worksheets("facturation")
        nom = .Range("D17").Value & "-" & .Range("J5").Value & ".xls"
    End With
    Quand tu fais, ShNew.move, tu as un nouveau classeur avec une seule feuille et devient classeur actif.

    Ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom = Sheets("facturation").Range("D17").Value & "-" & Sheets("facturation").Range("J5").Value & ".xls"
    Provoquera une erreur (à moins que shNew s'appelle facturation)

    Aussi, est tu sûr que D17 et J5 ne contiennent pas de caractères interdits tels que :/?!

  5. #5
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonsoir Mercatog

    D14 est formule comme ci
    devis N° 2012-08-125
    et 125 est incrémenté a chaque nouvelle feuille
    autrement J5 est le nom du client en majuscule sans signe

    je vais essayer ce que tu propose et je reviens

    Pascal

    je viens d'essayer mais pas mieux mais peut etre que ce que tu soulève est le problème "shnew'
    s'il faut les remplacer par autre chose je ne sais pas
    depuis le temps que je fait des essais je ne me suis pas pencher sur ce problème et ce code a du m'etre fait en meme temps et bizarrement fonctionner

    Pascal

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Je viens de tester le début du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub NouvelleFeuille_Click()
    Dim Mot As String, Nom As String, Chemin As String
    Dim shFact As Worksheet, shNew As Worksheet
     
    Set shFact = ThisWorkbook.Worksheets("Facturation")
    Set shNew = Sheets.Add
     
    shFact.UsedRange.Copy
    shNew.Range("A1").PasteSpecial xlPasteValues
    shNew.Range("A1").PasteSpecial xlPasteFormats
    Application.CutCopyMode = False
     
    Nom = shFact.Range("D17").Value & "-" & shFact.Range("J5").Value & ".xls"
    Chemin = "C:\Save_Devis_ExcelGStock\Devis"
     
    shNew.Move
    ActiveWorkbook.SaveAs filename:=Chemin & "\" & Nom, FileFormat:=xlExcel8
     
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PostgresSQL Sauvegarde non effectuée
    Par Invité dans le forum Hibernate
    Réponses: 1
    Dernier message: 20/02/2008, 15h52
  2. Me.Controls.add sauvegarde non effectuée
    Par XineMA dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/08/2007, 10h21
  3. Ecriture sur fichier texte non effectuée
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2007, 09h20
  4. Update non effectué
    Par nellynew dans le forum Access
    Réponses: 1
    Dernier message: 13/09/2006, 12h37
  5. [Upload] Upload de wav et renommage non effectué
    Par PuppeT mAsTer dans le forum Langage
    Réponses: 4
    Dernier message: 17/07/2006, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo