XL 2010 excel vba débutant

tchappo

XLDnaute Nouveau
j'aimerais récupérer les informations de la feuille "facturation" sur la feuille "historiquevente".
 

Pièces jointes

  • DEBUTANT VBA.xlsx
    9.7 KB · Affichages: 39

mbmb

XLDnaute Nouveau
BONJOUR !

Peut-être que avant de chercher à copier les données de l'onglet facturation à l'onglet historique, il serait utile de structurer un peu mieux ton onglet facturation ... sans quoi le fonctionnement risque d'être quelque peu aléatoire ...

Salutations,
 

bbb38

XLDnaute Accro
Bonjour tchappo, mbmb, le forum,
Je me suis permis de modifier un de mes fichiers existant, pour correspondre à un ton modèle de facture. Tu peux l’imprimer manuellement (format A4).
Si celui-ci te convient, je te donnerai les codes pour compléter une facture par formulaire avec sauvegarde des données.
Cordialement,
Bernard
 

Pièces jointes

  • DEBUTANT VBA v1.xlsm
    21.5 KB · Affichages: 12

tchappo

XLDnaute Nouveau
Bonjour tchappo, mbmb, le forum,
Je me suis permis de modifier un de mes fichiers existant, pour correspondre à un ton modèle de facture. Tu peux l’imprimer manuellement (format A4).
Si celui-ci te convient, je te donnerai les codes pour compléter une facture par formulaire avec sauvegarde des données.
Cordialement,
Bernard
slt, chapeau pour vos modifications à mon tableau de facturation.
Mais il faut imprimer en double les factures donc il me faut la facture à imprimer en A5.

SVP
 

tchappo

XLDnaute Nouveau
Bonjour tchappo, mbmb, le forum,
Je me suis permis de modifier un de mes fichiers existant, pour correspondre à un ton modèle de facture. Tu peux l’imprimer manuellement (format A4).
Si celui-ci te convient, je te donnerai les codes pour compléter une facture par formulaire avec sauvegarde des données.
Cordialement,
Bernard
Sinon c'est parfait vos ajustements, mais il me faut la facture au format A5.
votre case du nom de client, adresse, CP et ville n'est pas nécessaire.

mais le reste des modifications me conviennent parfaitement. MERCI
 

bbb38

XLDnaute Accro
Bonjour tchappo, mbmb, le forum,
Sur le fichier ci-joint, j’ai ajouté une feuille « Accueil », comprenant un bouton de commande « Editions », à tester (au format A4, puis au Format A5). Si problème, tu peux modifier, dans « Aperçu avant impression », la mise en page, à l’aide du bouton de commande correspondant.
Je n’ai pas testé l’impression au format A5.
J’ai supprimé le cadre du logo de l’entreprise, ainsi que celui du client, sur le modèle de facture.
Si ce modèle te convient, j’adapterai le code « Créer une facture » te permettant de compléter les données d’une facture et le transfert de celles-ci dans la feuille « historiquevente ».
Cordialement,
Bernard
 

Pièces jointes

  • DEBUTANT VBA v2.xlsm
    73.9 KB · Affichages: 10

tchappo

XLDnaute Nouveau
bjr merci ça me va à part livré à qui manque au début de la facture. la page d'accueil aussi est impeccable. vous êtes génial.

au fait j'étais avancé avec l'extrait de fichier que je vous avait envoyé au tout début. Mais votre touche et modification m'ont paru plus parfait que ce que je faisais.
je vais vous envoyé un autre fichier avec les codes vba vous allez comprendre ce que j'essaie de mettre en place pour mon depôt de boisson.
 

Pièces jointes

  • catalogue.xlsx
    10 KB · Affichages: 10

tchappo

XLDnaute Nouveau
Sub NumeroFacture()
Dim ligne As Long

ligne = Range("A2" & Rows.Count).End(xlDown).Row + 1
Sheets("historiquevente").Range("A2" & ligne) = Sheets("facturation").Range("G5").Value


c'est à ce niveau que je suis bloqué avec mes autres fichiers
la suite des codes que je vais vous renvoyer marche parfaitement si je supprime celui d'en haut

Sheets("facturation").Range("C9:C29").ClearContents
Sheets("facturation").Range("E37").ClearContents
Sheets("facturation").Range("G6").ClearContents
Sheets("facturation").Range("G34").ClearContents
Sheets("facturation").Range("D35").ClearContents
Sheets("facturation").Range("D36").ClearContents
Sheets("facturation").Range("E35").ClearContents
Sheets("facturation").Range("E36").ClearContents
Sheets("facturation").Range("D40").ClearContents
Sheets("facturation").Range("G40").ClearContents
Sheets("facturation").Range("E9:E29").ClearContents
Sheets("facturation").Range("F5").Value = Sheets("facturation").Range("F5").Value + 1

End Sub
 

tchappo

XLDnaute Nouveau
concernant la liaison avec le fichier catalogue voici le code que j'avais utilisé
Sub MiseAJour()
Dim Liaisons, Classeurs

'Mettre ici les chemins des fichiers de destination 2
Classeurs = Array("C:\Users\ASUS\Documents\catalogue.xlsx", "C:\Users\ASUS\Desktop\GESTDEPOT VBA.xlsm")

Application.ScreenUpdating = False
For Each Item In Classeurs
Workbooks.Open Item, UpdateLinks = True
Liaisons = ActiveWorkbook.LinkSources
For i = 1 To UBound(Liaisons)
Workbooks.Open Liaisons(i), UpdateLinks = True
ActiveWorkbook.Close True
Next
ActiveWorkbook.Close True
Next Item
Application.ScreenUpdating = True
End Sub

Pour la vérification de mon stock aussi le code que j'avais utilisé marche aussi parfaitement, le voici

Sub verification_stock()

Dim cellule As Range: Dim test As Boolean
test = False
For Each cellule In Range("F9:F29")
If (cellule.Value = "-") Then
test = True
Exit For
End If
Next cellule
If (test = True) Then
MsgBox ("Des articles hors stock figurent dans la facture, il n'est pas possible de continuer")
Exit Sub
End If

Dim ligne As Integer: ligne = 2
Dim valeur_stock As Integer: valeur_stock = 0
Dim valeur_demandee As Integer: valeur_demandee = 0
Dim ref_cat As String: Dim ref_facture As String
Dim choix_utilisateur As Byte

While (Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value <> "")
valeur_stock = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value
ref_cat = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 3).Value

For Each cellule In ThisWorkbook.Worksheets("facturation").Range("C9:C29")

If (cellule.Value = ref_cat) Then
valeur_demandee = ThisWorkbook.Worksheets("facturation").Cells(cellule.Row, 8)
If (valeur_demandee > valeur_stock) Then
MsgBox ("La référence " & cellule.Value & " ne possède pas assez de stock")
test = True
End If
End If

Next cellule

ligne = ligne + 1
Wend

If (test = True) Then
Exit Sub
Else
choix_utilisateur = MsgBox("La facture semble correcte, souhaitez-vous l'imprimer et mettre à jour les stocks ?", vbYesNo)
If (choix_utilisateur = 6) Then
For Each cellule In ThisWorkbook.Worksheets("facturation").Range("C9:C29")
ligne = 2
While (Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value <> "")
If (cellule.Value = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 3).Value) Then
Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value - ThisWorkbook.Worksheets("facturation").Cells(cellule.Row, 5).Value
End If
ligne = ligne + 1
Wend
Next cellule
Else
Exit Sub
End If
End If

'je déclare mes variables'
Dim NomDossier As String
Dim Chemin As String

'je nomme le dossier et donne le chemin de sauvegarde'

NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")
Chemin = "E:\inventaires\DEPÔT SNB\" & NomDossier & "\"

If NomDossier = "" Then Exit Sub

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & "FactureNumero_" & Range("F5").Value _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True




End Sub
 

tchappo

XLDnaute Nouveau
maintenant j'ai beaucoup kiffé votre apport avec la modification de l'aspect de ma facture qui est plus présentable.


d'où l'embarra du choix de reprendre le travail à partir de votre fichier et celui du catalogue que je vous ai envoyé

Donc je choisis de reprendre à zéro avec votre aide si vous voulez bien
 

bbb38

XLDnaute Accro
Bonjour tchappo, mbmb, le forum,
Dans un premier temps, je vais adapter les codes en ma possession, pour récupérer les données de la feuille « facturation » vers l’onglet « historiquevente ». Ensuite, je reprendrai tes codes pour terminer ton projet.
Je suis absent deux jours, je reprends ton fichier Lundi matin.
Cordialement,
Bernard
 

bbb38

XLDnaute Accro
Bonjour tchappo, mbmb, le forum,
J’ai mentionnai des observations dans l’onglet « historiquevente ». Fais-moi part de tes remarques.
Si j’ai bien compris ton but final, tu souhaites connaître le stock en temps réel.
Le catalogue et les données clients seront donc 2 fichiers distincts. Suite à ta réponse, je modifierai légèrement les codes en ma possession pour effectuer l’établissement des factures par formulaire.
J’ai récupéré tes codes dans les modules 3 et 4.
J’ai constaté que dans un fichier «ArchivageFactures, suivi de l’année, tu souhaites sauvegarder tes factures au format PDF. Ce fichier risque d’être très lourd, suivant le nombre de factures.
Cordialement,
Bernard
 

Pièces jointes

  • DEBUTANT VBA v3.xlsm
    168 KB · Affichages: 7

tchappo

XLDnaute Nouveau
Bonjour tchappo, mbmb, le forum,
J’ai mentionnai des observations dans l’onglet « historiquevente ». Fais-moi part de tes remarques.
Si j’ai bien compris ton but final, tu souhaites connaître le stock en temps réel.
Le catalogue et les données clients seront donc 2 fichiers distincts. Suite à ta réponse, je modifierai légèrement les codes en ma possession pour effectuer l’établissement des factures par formulaire.
J’ai récupéré tes codes dans les modules 3 et 4.
J’ai constaté que dans un fichier «ArchivageFactures, suivi de l’année, tu souhaites sauvegarder tes factures au format PDF. Ce fichier risque d’être très lourd, suivant le nombre de factures.
Cordialement,
Bernard
Bjr, merci pour votre attention particulière à mon égard. ça me touche vous pouvez pas imaginer.

J'ai répondu à vos diverses observations dans ce fichier que je vais joindre à mon Post.

Concernant l'Archivage de nos factures en PDF, l'idée est de faire de sorte pour pouvoir imprimer une nouvelle fois une facture donnée au temps voulu sans toutefois que les mouvements des quantités agissent sur "catalogue" (les stocks).

De plus on ne peut pas se permettre d'éditer une facture pour impression à un client sans aucun lien avec le mouvement des stocks.

Si il vous avez une solution je suis preneur.
Merci
 

Pièces jointes

  • DEBUTANT VBA v3(Réponses).xlsm
    162 KB · Affichages: 10

Discussions similaires