gros gros probleme la fonction d'enregistrement automatique de mon fichier marche pu

patrick965

XLDnaute Impliqué
Bonjour et merci de prendre le tem de me lire
je vous joins mon ficher parce que j'ai un gros problème urgent...

sans raison apparente lorsque j'étais en train de modifier des apparence dans ma fiche Excel plus rien ne fonctionne et un message d'erreur apparait quand je veut enregistrer

Habituellement quand j'entre un nom de client et que je clique sur enregistrer la macro ou le code crée un ficher au nom du client et enregistre-le tous dans ce fichier.

Depuis ce soir rien ne marche et je ne comprends pas pourquoi et ce qui est le plus blizzard c'est que mes autres sauvegarde précédant non plus fonctionne plus il en a une datée du 26-02-2015 qui fonctionne très bien, mais depuis j'ai travaillé environs 50h pour continuer a la modifier.

merci beaucoup de me dire ce qui a clocher et pourquoi

vraiment merci
 

Pièces jointes

  • SOUMISSION BATIMENT TRICOLOR test 24-02-2015.xlsm
    174.5 KB · Affichages: 62
  • SOUMISSION BATIMENT TRICOLOR test 24-02-2015.xlsm
    174.5 KB · Affichages: 68
  • SOUMISSION BATIMENT TRICOLOR test 24-02-2015.xlsm
    174.5 KB · Affichages: 75
  • voici mon probleme que je navais pas avant.jpg
    voici mon probleme que je navais pas avant.jpg
    53.4 KB · Affichages: 72
  • voici mon probleme que je navais pas avant.jpg
    voici mon probleme que je navais pas avant.jpg
    53.4 KB · Affichages: 75
  • voici mon probleme que je navais pas avant.jpg
    voici mon probleme que je navais pas avant.jpg
    53.4 KB · Affichages: 62
Dernière édition:

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Re,

Comme vous voulez, mais ne faites pas plus de 26 modifications :

Code:
'---
    '---numero de la modification---
    If Not IsError([FichierCopié]) Then
      Nmodif = [FichierCopié] + 1
      Tmodif = "-" & Chr(96 + Nmodif)
    End If
    Me.Names.Add "FichierCopié", Nmodif, Visible:=False 'nom défini masqué
Fichier (9).

A+
 

Pièces jointes

  • SOUMISSION BATIMENT TRICOLOR test 24-02-2015(9).xlsm
    187.9 KB · Affichages: 41

patrick965

XLDnaute Impliqué
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Bonjour

en travaillant sur mon fichier je me suis demander si par exemple un client me donne un dépôt et que j'inscrit un chiffre en G39 et ou en G40 dans facture de service j'aimerais que le titre soumission se change en facture et que une lettre F S'inscrive au début du numéro de facture pour que lors de l'enregistrement une facture ce crée c'est que pour séparer les 2 sans avoir a crée une 2 iem facture .

merci mon amis.
 

Pièces jointes

  • soumission batiment-tricolor 06-03-2015-.xlsm
    184.8 KB · Affichages: 31
Dernière édition:

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Bonsoir Patrick,

Je n'avais pas vu votre post #35.

C'est vraiment un fil à rallonge qui s'éternise mais je vous ferai ça demain.

Avec tous ces fichiers, qui seront classés différemment, vous aurez du mal à vous y retrouver...

A+
 

patrick965

XLDnaute Impliqué
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Bonjour jobs
merci de prendre ton précieux temp pour moi
et bien c'est pour cela que je veux qu'il y ai un F devant le numéro de facture lorsque quelqu'un inscrit un montant de dépôt ou payement en G39 et/ou en G40 de "feuille de facture".et que le titre "soumission" change pour "Facture".
Pour que dans le dossier quand la facture va s'enregistrer comme les soumissions le fond actuellement,
pour que je discerne rapidement la facture dans la liste des ficher.
le fais qu'il y ai pas de F je sais que c'est juste la soumission
et le fais qu’il y ai les lettres A,B,C,D etc. après les numéros de soumission me donnent automatiquement a quel changement je suis rendu sans avoir effacer les anciennes soumissions de plus ça démontre pour certaines personne a quel genre de personne nous avons a faire..
Oui ça fait plus de dossiers, mais en même temps il y aura une certaine ordre dans tout ca.
ps: après l'enregistrement de (F) facture dans le dossier au nom du client qui a donner un dépôt ou acompte en G39 et/ou en G40 de "feuille de facture". . je ne veux plus que les lettre A,B,C,D etc au bout du numéro continue a changer l'ors du changement parce que c'est sur que je vais faire un changement quand je vais inscrire un montant en G39 et/ou en G40 de "feuille de facture".
En général ce que je veux dire est que je ne veux pas ni pour les soumissions ni pour les factures que l'ors de l'enregistrement que les case G39 et G40 "feuille de facture". soie pris en compte pour un changement.

merci GRAAAAAAANDEMENT JOBS .........
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Re,

A la réflexion, mettre un "F" avant les numéros de facture ne me paraît pas une bonne solution.

Ceci paraît mieux :

- les fichiers seront toujours traités de la même manière (avec A B C...)

- quand G39 ou G40 seront renseignées, le texte "-facture" sera placé après le nom des fichiers .pdf et .xlsx

- et bien sûr dans ce cas on remplacera en E1 "SOUMISSION" par "FACTURE".

Bonne nuit et à demain.
 

patrick965

XLDnaute Impliqué
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

bonjour jobs

oui c'est exactement ce que je veux et j'aimerais si tu pouvais porter attention au fait que je ne veux pas que les entrée fait en G39 et/ou en G40 de "feuille de facture". soie compter comme un changement donc que les A,B,C etc après les numéro de facture ne change as l'lorsque qu'un changement est fait a c'est 2 casse.

gros gros gros merci
 

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Re,

A mon avis il faut continuer la numérotation A B C... même quand il s'agit d'une facture, car une facture peut être erronée et donc modifiée.

Mais si vous ne voulez pas conserver les factures erronées, alors on les écrasera, aucun problème.

A+
 

patrick965

XLDnaute Impliqué
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

bonsoir jobs
oui je veux que les a,b,c,d etc soie toujours en fonction sur les soumission et facture les seul temp que je ne veut pas qu'il soie pris en compte est quand que l'ont entre une donner en G39 et/ou en G40 de "feuille de facture ou fais un changement dans une de c'est 2 case

merci beaucoup jobs .
 

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Re,

Quand un fichier est modifié, il n'est pratiquement pas possible de savoir quelles sont les cellules qui ont été modifiées.

A+
 

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Bonjour patrick965, le forum,

Bon j'ai trouvé une solution en utilisant la variable AutreQueG39G40 :

Code:
Dim AutreQueG39G40 As Boolean, numero$ 'mémorisation des variables

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
Dim a$, nom$, i As Byte
If Sh.Name <> "Facture de service" Then Exit Sub
'---initialise AutreQueG39G40---
a = Source.Address(0, 0)
If a <> "G39" And a <> "G40" And a <> "G39:G40" And a <> "G39,G40" And a <> "G40,G39" _
  Then AutreQueG39G40 = True
If Intersect(Source, Sh.[F4,D10]) Is Nothing Then Exit Sub
Application.EnableEvents = False
'---interdit la modification du numéro de facture---
Sh.[F4] = numero
'---supprime les caractères interdits---
nom = Sh.[D10]
For i = 1 To 9
  nom = Replace(nom, Mid("\/:*?""<>|", i, 1), "")
Next
Sh.[D10] = nom
Application.EnableEvents = True
End Sub

Private Sub Workbook_Open()
Sheets("Facture de service").Activate 'au cas où...
numero = "'" & [F4]
If Not IsError([FichierCopié]) Then Exit Sub 'neutralisation
Dim chemin$, nomfich$, n As Variant
Sheets("Facture de service").Activate 'au cas où...
Application.EnableEvents = False
'---date du jour---
[F5] = Date
'---numéro de facture---
chemin = Me.Path & "\" 'chemin du dossier à adapter
nomfich = Dir(chemin & "Numero_Facture.xls*")
If nomfich <> "" Then
  n = ExecuteExcel4Macro("'" & chemin & "[" & nomfich & "]Feuil1'!R1C1")
  n = IIf(Left(n, 4) = CStr(Year(Date)), Val(Mid(n, 9)), 0)
End If
numero = "'" & Format(Date, "yyyymmdd") & Format(n + 1, "0000")
[F4] = numero
Application.EnableEvents = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
'Si l'on veut modifier le fichier modèle (vide) laisser le nom vide
Dim nom$, chemin$, Nmodif%, Tmodif$, wb As Workbook
With Sheets("Facture de service")
  .Activate
  If IsError([FichierCopié]) Then nom = Application.Proper(.[D10]) & "\"
  'si l'on est sur le fichier service.xlsm la variable nom = ""
  If nom = "\" Then
    MsgBox "Le nom n'a pas été entré..."
    .[D10].Select
  Else
    Cancel = True
    chemin = Me.Path & "\" 'chemin du dossier
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    On Error Resume Next
    MkDir chemin & nom 'création du sous-dossier
    '---numero de la modification---
    If nom = "" And AutreQueG39G40 Then Nmodif = [FichierCopié] + 1
    If Nmodif Then Tmodif = "-" & Chr(64 + Nmodif)
    If [G39] <> 0 Or [G40] <> 0 Then Tmodif = Tmodif & "-Facture"
    [E1] = IIf([G39] = 0 And [G40] = 0, "SOUMISSION", "FACTURE")
    Me.Names.Add "FichierCopié", Nmodif, Visible:=False 'nom défini masqué
    AutreQueG39G40 = False 'RAZ
    '---création/modification du fichier facture .pdf---
    .ExportAsFixedFormat xlTypePDF, chemin & nom & .[F4] & Tmodif
    '---création/modification du fichier facture .xlsx---
    Set wb = Workbooks.Add(xlWBATWorksheet)
    .Copy After:=wb.Sheets(1)
    wb.Sheets(1).Delete
    wb.Sheets(1).Cells.Validation.Delete 'pour détruire les liaisons
    wb.SaveAs chemin & nom & .[F4] & Tmodif  'enregistrement
    wb.Close
    '---création/modification du fichier service.xlsm---
    Me.SaveAs chemin & nom & .[F4] & "_service", 52 'enregistrement
    '---mémorisation du numéro de facture---
    If nom <> "" Then
      Workbooks("Numero_Facture").Close False 'si le fichier est ouvert
      Set wb = Workbooks.Add(xlWBATWorksheet)
      .[F4].Copy wb.Sheets(1).[A1]
      wb.Sheets(1).Protect "TOTO" 'mot de passe à adapter
      wb.SaveAs chemin & "Numero_Facture" 'enregistrement
      wb.Close
      Application.ScreenUpdating = True
      MsgBox "Vous êtes maintenant sur le fichier '" & .[F4] & "_service.xlsm'." _
        & vbLf & "Dans le dossier '" & Left(nom, Len(nom) - 1) & "'."
    End If
    Application.EnableEvents = True
  End If
End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If IsError([FichierCopié]) Then Me.Saved = True 'évite l'invite
End Sub
Nouveau fichier joint.

Bonne journée.
 

Pièces jointes

  • Modèle facture(1).xlsm
    188.3 KB · Affichages: 48
Dernière édition:

job75

XLDnaute Barbatruc
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

Re,

Il y avait une erreur, il faut faire commencer la macro Workbook_Open par :

Code:
Private Sub Workbook_Open()
Sheets("Facture de service").Activate 'au cas où...
numero = "'" & [F4]
If Not IsError([FichierCopié]) Then Exit Sub 'neutralisation
'-------
Je vais corriger le post #43 précédent.

A+
 

patrick965

XLDnaute Impliqué
Re : gros gros probleme la fonction d'enregistrement automatique de mon fichier march

bonjour mon amis

super travail j'ais regarder ce que tu a accomplie et c'est super.
il y aurais juste une petite chose il faudrait que le fichier xlsm ce crée a chaque changement et enregistrement dans une soumission et facture parce que qu'and j'apporter un changement il y a qu'un pdf et un xlsx qui ce crée et quand je vais dans le xlsx (A) par exemple entrée un montants dans la case G39 et/ou en G40 de "feuille de facture il ce transforme pas en facture a l'enregistrement .
il y a que le fichier xlsm original qui le fais.

De plus il est t'il possible que lorsque l'on enregistre après avoir mis un montant en case G39 et/ou en G40 de "feuille de facture que dans le dossier de destination sur les nouveaux fichier crée pdf, xlsx, xlsm qu'il y ais d'inscrit Facture en plus du numéro de facture et la lettre du nombre de changement a la fin.et la même chose pour les soumissions. ex: Facture201503090036.pdf ou Facture201503090036(A).pdf ou Facture201503090036.xlsx ou Facture201503090036.xlsm
ce n'étais que quelque exemple pour que l'ont ce comprenne bien.

tu est super tu a fais une merveille jobs merci pour tous ...vraiment tu est de très grande aide
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972