Le_Troll_Du_27
XLDnaute Occasionnel
Je viens de commencer ce module Facture. L'organigramme:
J'expose mon problème
Le modèle type de facture sert à:
En G16 le n°de facture sous la forme de Calcul
(14) G J L N
(15) Facture n° Date Type: Livraison:
(16) F2015M259 25/09/2015 Facture Mail
Voici ce que j'ai commencé
Le code avant d'avoir penser au système Devis, Facture, Simulation
Je voudrais fusionner les deux.
Je joins mon fichier qui est protéger. Mot de passe afficher dans la page d'accueil
Free - Envoyez vos documents
Cordialement
Laurent
- Accueil
- Paramètres
- Variables
- Modèle
- BD Client
- BD Article
- Archive_Facture
- Relance_Facture
- Dernière_Relance
J'expose mon problème
Le modèle type de facture sert à:
- Créer un Devis
- Créer une Facture
- Créer une Simulation
En G16 le n°de facture sous la forme de Calcul
=GAUCHE(L16;1)&GAUCHE(I8;1)&""&ANNEE(J16)&GAUCHE(N16;1)&JOUR(J16)&""&MOIS(J16)
(14) G J L N
(15) Facture n° Date Type: Livraison:
(16) F2015M259 25/09/2015 Facture Mail
Voici ce que j'ai commencé
Code:
Option Explicit
Sub Archive()
Dim Ligne As Long
Dim Trouve As Range
With Sheets("Facture_Archive")
Set Trouve = .Range("A:A").Find(Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("G16"), lookat:=xlWhole)
If Trouve Is Nothing Then
Ligne = .Range("B" & Rows.Count).End(xlUp).Row + 9
'N° Facture
.Range("B" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("G16")
'Date Facture
.Range("C" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("J16")
'Type
.Range("D" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("L16")
'ModeLiv
.Range("E" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N16")
'Mode règl.
.Range("F" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("J19")
'Échéance
.Range("G" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("C19")
'N° de Transaction
.Range("H" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N19")
'Nom / Raison Sociale
.Range("I" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("H8")
'Prénom / Nom
.Range("J" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("I8")
'Adresse
.Range("K" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("H9")
'Code Postal
.Range("L" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("H10")
'Ville
.Range("M" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("J10")
'Total HT
.Range("N" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N44")
'TVA 5,5%
.Range("O" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N41")
'TVA 10%
.Range("P" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N42")
'TVA 20%
.Range("Q" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N43")
'Remise
.Range("R" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N38")
'Total TTC
.Range("S" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N44")
'Frais de Port
.Range("T" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N39")
'Acompte
.Range("U" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("N46")
'Réglement
.Range("U" & Ligne) = Sheets("Facture" & Space(1) & Sheets.Count - 4).Range("G48")
Else
MsgBox "Facture déjà crée"
End If
End With
End Sub
Le code avant d'avoir penser au système Devis, Facture, Simulation
Code:
Sub Copie_Renomme_Facture()
'on ouvre les factures déjà existantes
For Each feuille In Sheets
' '############################################ Pas encore effectuer ########################
' 'Liste déroulante en L16 pour selectionner Facture, Devis, Simulation
' If Target.Address(False, False) = "L16" Then
' Select Case Target.Value
' Case "Facture": chemin = "C:\Users\Public\Documents\Facture\"
' Call Macro1
' Case "Devis": chemin = "C:\Users\Public\Documents\Devis\"
' Call Macro2
' Case "Simulation": chemin = "C:\Users\Public\Documents\Simulation\"
' Call Macro3
' End Select
' End If
' '############################################ Fin Zone Liste déroulante ###################
If Left(feuille.Name, 7) = "Facture" Then
feuille.Visible = True
End If
Next feuille
Sheets("Modele").Copy After:=Sheets(Sheets.Count) 'copie après le total de feuilles (cad en dernier)
Sheets("Modele (2)").Name = "Facture" & Space(1) & Sheets.Count - 4 'renomme l'onglet avec numérotation en prenant : nombre de feuille - feuilles créer = 1,2,3 ...
'#################DEBUT######################
'réinitialisation de la facture d'origine
Sheets("Modele").Select
'réinitialisation Partie Haute
Range("M7:N7").Select
Range("L16").Select
Range("N16").Select
Range("J19").Select
Range("L19:N19").Select
Selection.ClearContents
'réinitialisation Partie Centrale
Range("C24:C35").Select
Range("J24:J35").Select
Selection.ClearContents
'réinitialisation Partie HT
Range("L38").Select
Range("G48").Select
Range("N46").Select
Selection.ClearContents
'###################FIN######################
'on selectionne et colorise la nouvelle facture
Sheets("Facture" & Space(1) & Sheets.Count - 4).Select
With ActiveWorkbook.Sheets("Facture" & Space(1) & Sheets.Count - 4).Tab
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.399975585192419
End With
Sheets("Facture" & Space(1) & Sheets.Count - 4).Unprotect "admin"
Sheets("Facture" & Space(1) & Sheets.Count - 4).Shapes("BOUTON").Delete 'on supprime le bouton dans la nouvelle facture
Sheets("Facture" & Space(1) & Sheets.Count - 4).Protect "admin"
End Sub
Je voudrais fusionner les deux.
Je joins mon fichier qui est protéger. Mot de passe afficher dans la page d'accueil
Free - Envoyez vos documents
Cordialement
Laurent