Générer une feuille "journal des ventes"

Bonjour à Tous,

Après une recherche dans les sujets déjà traités, je n'ai pas trouvé un sujet correspondant à mon problème.

Voici les paramètres de ce dernier :

Un classeur contient :

- une feuille "Facture"

- une feuille "Journal"

Chaque fois que je saisis une facture, je voudrais qu'elle aille se reporter dans la feuille "Journal", après avoir été affectée d'un n° égal à dernier n° + 1, et à la suite de la dernière facture enregistrée.

Si ce sujet a déjà été traité, je vous remercie de me donner le lien, sinon, si ça inspire l'un de vous de traiter ce sujet a priori simpliste, un grand merci d'avance.

Je joins un fichier exemple.

J'ai quitté le monde Microsoft depuis peu ( une erreur ??), et du coup, j'utilise Excel pour Mac 2011, v14.4.3, avec l'OS X Mavericks.

Question subsidiaire : comment arriver à l'équivalent d'Alt + F11, ne serait-ce que pour dessiner un bouton ?

976journal.xlsx (42.53 Ko)

Juste pour signaler que j'ai obtenu l'accès à VBA par Alt + F11 après avoir un peu réfléchi...

Bonsoir Stouvenel, bonsoir le forum,

Stouvenel M a écrit :

après avoir été affectée d'un n° égal à dernier n° + 1

Ce numéro correspond au numéro de facture ou au numéro de la cellule B4 de l'onglet Journal (dans ton exemple) ?

Que ce passe-t-il quand il y a plus de 25 factures ?

À quoi servent les numéros en colonne A ?

J'ai besoin de ces réponses pour te proposer une solution...

Bonjour ThauThème,

Je constate effectivement que je n'ai pas été suffisamment précis, je te donne donc les réponses à tes questions, ainsi que quelques précisions supplémentaires.

En premier lieu, tu as dû constater que j'avais fait un premier onglet (Gener) qui est en quelque sorte un moyen de donner une forme au n° de facture qui va être porté sur cette dernière.

Je m'explique. A partir d'un n° (incrémenté de 1 en 1, car il ne peut pas y avoir de trou dans une séquence de facture), on peut être amené à "customiser" ce n°, en ajoutant des lettres (ex : F), des signes (ex : tiret), une date, etc...

Mais dans tous les cas, c'est ce n° de base qui est important, car officiel.

Au pire, on pourrait se passer de cet habillage du n° de base.

Pour un mois donné, la séquence des n° de factures démarre avec un n° qui est normalement le dernier du mois précédent + 1.

Dans mon exemple, c'est le 123 en B4 de l'onglet Journal.

C'est un premier problème : le dernier n° + 1 du journal devrait venir garnir automatiquement le n° de la facture suivante.

Concernant ta question "Que se passe-t-il lorsqu'il y a plus de 25 factures" : c'est un deuxième problème, que je mettais de côté volontairement, le temps de gérer les autres problèmes, à savoir en premier lieu la création de la facture, avec son report automatique dans le Journal...

Les n° de 1 à 25 en colonne A n'ont pas d'importance stratégique, ce sont de simples n° de ligne.

J'espère sincèrement que tout cela va t'inspirer, car cela dépasse malheureusement mes compétences, et je ne trouve vraiment pas de solution.

T'en remerciant à l'avance,

Michel

PS : je joins une nouvelle version de mon exemple

431journal-v2.xlsx (34.23 Ko)

Bonjour à tous,

et voici que je tombe exactement sur la question qui me hante depuis plusieurs jours.

Comment faire un journal des ventes qui reprendrait automatiquement les données des factures.

Je viens de me faire un modèle de facture en Excel dont je suis assez fier, puisque j'ai pu lui "offrir" quelques petites automatisations.

Une première feuille est la base de données "clients" qui se trie à chaque ajout de nouveau client afin d'être toujours en ordre alphabétique.

La deuxième feuille est la feuille Facture et la troisième serait le journal des ventes. A partir duquel je compte bien extraire les données pour faire le listing de fin d'année. Mais là, je n'y suis pas encore puisque je cale sur le journal des ventes.

J'attends donc avec grande impatience les réponse qui arriveront ici.

Merci et bon courage.


Bonjour ,

pour automatiser le numéro de la facture :

donner le nom "no_facture" à la cellule où le numéro de facture doit se trouver et il s'incrémentera de 1 à chaque enregistrement.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Range("no_facture").Value = Range("no_facture").Value + 1

End Sub

Bonjour SimKmil,

Pseudo marrant, ça me rappelle ma jeunesse...

Ceci dit, je ne suis pas allé aussi loin que toi dans la gestion de la facture, car le principal problème me semblait être ce report dans une feuille journal.

J'espère donc que quelqu'un pourra nous aider, et lorsque, je l'espère, ce problème sera résolu, je passerai à un dessin de facture correct.

Si cela ne te pose pas de souci, peux-tu mettre un exemple de ta feuille de calcul en ligne ? Je t'en remercie à l'avance.

Bonne journée à toi et à tous les lecteurs éventuels.

M

Bonjour,

Merci pour tes commentaires.

Mon pseudo, je l'ai aussi choisi en souvenir... Ma première auto était une Simca 1100!

Je suis actuellement sur mon IPad mais des que je suis sur mon Pc, je vais envoyer mon modèle de facture, modèle que j'essaye toujours d'automatiser de plus en plus.

Bonne soirée

Bonsoir le fil, bonsoir le forum,

Vraiment désolé de na pas avoir répondu plus tôt mais manque de temps...

En pièce jointe, ton fichier modifié avec le code commenté. J'ai supprimé le premier onglet car le numéro de facture est généré par le code dès que la date est éditée, grâce à la macro événementielle Change ci dessous :

Private J As Object 'déclare la variable J (onglet Journal)
Private N As Long 'déclare la variable N (Numéro)
Private NF As String 'décalre la variable NF (Numéro de Facture)

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
If Target = "" Then Exit Sub 'si la cellue est effacée, sort de la procédure
If Target.Address = "$C$9" Then 'condition: si le changement a lieu dans C9
    Set J = Sheets("Journal") 'définit l'onglet J
    'définit le numéro N (plus grande valeur de la colonne 2 (=B) + 1
    N = Application.WorksheetFunction.Max(J.Columns(2)) + 1
    'génère le numéro de facture
    NF = "F-" & N & "-" & Year(Range("C9").Value) & "/" & Month(Range("C9").Value) & Day(Range("C9").Value)
    Range("C11").Value = NF 'place le numéro de facture NF dans la cellule C11
End If 'fin de la condition
End Sub

Le renvoi et l'effacement de la facture se font via le CommandButton Vers Journal dont le code est :

Private Sub CommandButton1_Click() 'bouton "Vers Journal"
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

ActiveCell.Select 'enlève le focus au bouton
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set J = Sheets("Journal") 'définit l'onglet J
'définit la cellule de destination DEST 'première ligne vide de la colonne 2 (=B)
Set DEST = J.Cells(Application.Rows.Count, 2).End(xlUp).Offset(1, 0)
DEST.Value = N 'place le numéro N dans DEST
Range("C9").Copy 'copie C9 de l'onglet F
DEST.Offset(0, 1).PasteSpecial (xlPasteValues) 'colle sa valeur dans dest décalée d'une colonne à droite
Range("C11").Copy 'copie C11
DEST.Offset(0, 2).PasteSpecial (xlPasteValues) 'colle sa valeur dans dest décalée de deux colonnes à droite
Range("D4:F4").Cells(1).Copy 'copie la première cellule de la plage D4:F4
DEST.Offset(0, 3).PasteSpecial (xlPasteValues) 'colle sa valeur dans dest décalée de trois colonnes à droite
Range("F29").Copy 'copie F29
DEST.Offset(0, 4).PasteSpecial (xlPasteValues) 'colle sa valeur dans dest décalée de quatre colonnes à droite
Range("F30").Copy 'copie F30
DEST.Offset(0, 5).PasteSpecial (xlPasteValues) 'colle sa valeur dans dest décalée de cinq colonnes à droite
Range("F31").Copy 'copie F31
DEST.Offset(0, 6).PasteSpecial (xlPasteValues) 'colle sa valeur dans dest décalée de six colonnes à droite
Range("D4:F6").ClearContents 'efface le contenu de la plage D4:F6
Range("A15:E29").ClearContents 'efface la palge A15:F29
Range("C9").Value = Year(Date) & "-" & Month(Date) & "-" & Day(Date) 'place la date du jour dans C9
Range("D4").Select 'sélectione la cellue D4
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
End Sub

J'ai placé les Totaux en haut comme ça tu pourras rajouter autant de lignes que tu veux...

Le fichier :

359journal-v3.xlsm (34.16 Ko)

bonjour

voici comme promis à Stouvenel un exemple de mon fichier "facture"

Si tu as des améliorations à me proposer, je suis preneur.

Merci

Oups !! je ne sais pas comment joindre un fichier !!

Bonjour à tous,

Tout d'abord, je vous souhaite une très bonne année 2015, avec tout ce que vous pouvez désirer, y compris des macros qui fonctionnent à la perfection.

Je suis resté inactif concernant mon problème depuis un moment, mais je vois que ce ne fut pas le cas pour Thautheme et SimKMil, que je remercie de leur implication.

Dès que les problèmes qui me préoccupent seront résolus, je reviendrai vers cette application Excel.

D'ici-là, je vous souhaite encore mes meilleurs voeux, ainsi qu'à vos proches.

bonjour a vous et bonne année pour 2015

simkmil plutôt que d’encombrer un post n'ayant pas eté fermé ouvre un autre en mettant le lien de celui ci

Pascal

Merci plour ton conseil et excellente année à toi aussi.

Je vais essayer, mais ne sais pas comment faire exactement ...

J'essaye et si ça ne va pas, je reviens vers toi

Merci

Bonsoir à tous, bonsoir Thautheme,

Après une longue période d'inactivité Excel, période toutefois occupée par la pose de quelques m2 de BA13, je me suis remis sur mon petit problème.

J'ai donc utilisé la base que tu as eu la gentillesse de développer, et je m'en suis servi pour l'adaptation de mon problème. Cela m'a vraiment débloqué, je t'en remercie. J'avance donc sur ce petit projet, et si cela intéresse quelques-uns, je reviendrai vers le forum lorsque mon résultat sera définitif.

Bons développements à tous, et à bientôt probablement.

Bonsoir,

Merci pour ces précisions, bien entendu, je serai toujours intéressé de recevoir vos modèles lorsqu'ils seront près qu'aboutir.

Bonne soirée

Rechercher des sujets similaires à "generer feuille journal ventes"