VBA numéro de fact création fact suivant le modele et le tableau de suivi

Bonjour à tous,

Je suis tout à fait novice en VBA mais toutes mes cherches pour construire mon outil m'y conduisent. A force de recherches je commence à avoir un outil intéressant mais bien perfectible. Sauriez-vous m'éclairer?

Voici ma feuille 1 appelée "Suivi"

image

J'ai un code qui me permet de créer un num fact en fonction de mon format : Que dois-je modifier pour que le nouveau num fact s'incrémente à la suite de ma liste en colonne A feuille"suivi" et que si colonne Q"relance"="oui" alors nouveau num fact à la suite de la liste sous la forme de : même numéro de fact mais en remplacant "F" devant par "REL"

Option Explicit

Dim N

Sub NouveauNuméro()

On Error GoTo NuméroUn
N = Right(Range("A").Value, 5)
Range("A").Value = "F" & Year(Date) & Month(Date) & Day(Date) & "-" & Format(N + 1, "00")
Exit Sub

NuméroUn:
Range("A5").Value = "F" & Year(Date) & Month(Date) & Day(Date) & "-" & Format(N + 1, "00")
Resume Next
End Sub

J'ai un code qui me permet de créer ma facture en fonction de mon tableau de suivi:

Comment l'adapter pour que chaque nouvelle feuille créée s'enregistre en PDF dans le dossier de mon choix ? et que si la facture est soldée ou qu'une facture de relance est lancé, cette facture ne figure plus dans les onglets de mon classeur (puisqu'elle est déjà enregistrée et il n'y a plus rien à faire) ??

Sub Créer()
Dim J As Long
Dim Ws As Worksheet

Application.ScreenUpdating = False
Set Ws = ActiveSheet
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
If Not FeuilleExiste(Ws.Range("A" & J).Value) Then
Sheets("MODELE").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Ws.Range("A" & J)
Range("A10") = ActiveSheet.Name
End If
Next J
Ws.Select
End Sub

'Si l'onglet existe déjà, il n'est pas créé
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function

Cela fais des semaines que je cherche à finaliser mon outil, et c'est compliqué quand on avait jamais entendu parler de VBA auparavant. En attendant de pouvoir me former en ce sens, pourriez-vous svp m'apporter un peu de votre science ???

En vous remerciant pour toutes les discussions sur le forum qui m'ont déjà pas mal aidées.

48projetadc-2.zip (39.49 Ko)

Bonjour,

Ça fait beaucoup de questions ...

Personnellement, à votre place, je ne créerais pas une feuille pour chaque facture.

Je partirais de la base suivi (que je mettrais sous forme de tableau structuré) et que j'alimenterais pour chaque nouvelle facture. A l'issue de la saisie d'une nouvelle facture, j'appuierais sur un bouton qui éditerait en PDF (dans un dossier défini à l'avance) et imprimerait la facture. Cette opération pourrait très bien être complétée par l'incrémentation du numéro de facture...

Donc pour résumer, votre onglet majeur est la feuille "Suivi", vous ne vous tracassez plus avec des feuilles polluantes, et vous vous servez de l'onglet "MODELE" (la Facture) comme simple interface d'édition car de toute façon, toutes vos données sont conservées dans Suivi et les factures éditées en PDF.

Cdlt,

Merci pour cette réponse.

Donc je comprends bien je dois modifier la macro qui créer les onglets pour qu'elle crée plutôt un autre fichier qui sera enregistré en pdf ?

Comment puis-je faire ça ?

Non, pas vraiment. Mon idée, c'est que :

- soit on saisit les informations sur la facture puis quand on exécute la macro, elle est éditée en PDF, imprimée et les informations alimentent la base (suivi).

- soit on saisit sur la base et idem (facture alimentée, edtion, impression).

Tout ça sans créer ni onglet ou fichier.

La seule contrainte majeure, c'est d'avoir des colonnes permettant de saisir (ou reporter) les informations Nature, Detail, Qté, Montant. Dans votre fichier exemple, vous avez 7 lignes donc ça représente 4x7 colonnes à prévoir (qui peuvent être masquées cependant).

En effet je souhaite alimenter ma base de donnée et partir de là pour créer une facture pré-remplie automatiquement. Ce que j'arrive à faire avec mon travail actuel. J'aimerais seulement corriger mon code pour que la facture s'enregistre en PDF en plus de mon onglet (pas d'impression) .

Je souhaite garder les facture en onglet tant qu'elles ne sont pas soldées par contre une fois soldée en effet je souhaiterai rajouter un bout de code pour que l'onglet se supprime.

je cherche également à modifier mon code de création de numero de fact afin que les numéros se suive en fonction de mon

Oui mais pour quelle raison ? Juste pour contrôler l'acquittement ?

Parce que l'acquittement se contrôle comptablement. C'est à partir des règlements apparaissant en comptabilité qu'on pourra remplir les colonnes "acquitté", "relance", etc...

Sinon, ça peut faire pas mal d'onglets sur un fichier...

Je suis désolé d'insister mais je ne le ferais pas si je ne pensais pas que c'est la meilleure solution.

Il s'agit d'une entreprise d'un artisan paysagiste donc il n'y a pas comptabilité à proprement dit donc oui je souhaite suivre l’acquittement des factures.

Avez-vous une idée pour mes modifier mes codes actuels ?

Rechercher des sujets similaires à "vba numero fact creation suivant modele tableau suivi"