Génération log compta

Bonjour

j'ai besoin d'aide sur ma macro svp !

en fait je souhaite que lorsque j'enregistre ma facture pdf via ma maco cf onglet "facture"

les données indiquées sur l'onglet base CA en colonne Z à AC viennent s’incrémenter sur la ligne correspondante au numéro de facture indiqué en celluleC4 via un equivalent de recherchev du numéro de facture indiqué en cellule I2 de l'onglet facture .

une grand merci au pro !

19facturation-v3.xlsm (76.84 Ko)

Bonjour Biguetf,

Je te propose la solution suivante:

-On donne un nom à chaque cellule de la feuille "Facture" dont les valeurs sont à récupérer soit :

"NFacture" pour J2

"DateFacture" pour K2

"Montant_HT" pour F51

"Montant_TVA" pour I51

"Montant_TTC" pour J51

-On créé la macro suivante :

Sub MajBase()   'Proposition GVS
    Dim oSheet As Worksheet, oRange As Range
    Dim sNFacture As String, dDateFacture As Date, dblMontant_HT As Double, dblTVA As Double, dblMontant_TTC As Double
    Dim lRow As Long

    'On récupère les données de la facture
    sNFacture = ThisWorkbook.Names("NFacture").RefersToRange.Value
    dDateFacture = ThisWorkbook.Names("DateFacture").RefersToRange.Value
    dblMontant_HT = ThisWorkbook.Names("Montant_HT").RefersToRange.Value
    dblTVA = ThisWorkbook.Names("Montant_TVA").RefersToRange.Value
    dblMontant_TTC = ThisWorkbook.Names("Montant_TTC").RefersToRange.Value

    'On recherche la ligne de facture dans la feuille "Base CA"
    Set oSheet = ThisWorkbook.Worksheets("Base CA")
    Set oRange = oSheet.UsedRange.Columns("C").Find(sNFacture, , xlValues, xlWhole, , , False)
    If Not oRange Is Nothing Then
        'Si on la trouve, on renseigne la ligne avec les données
        lRow = oRange.Row
        oSheet.Cells(lRow, 26).Value = dDateFacture
        oSheet.Cells(lRow, 27).Value = dblMontant_HT
        oSheet.Cells(lRow, 28).Value = dblTVA
        oSheet.Cells(lRow, 29).Value = dblMontant_TTC
    End If 
End Sub

-On modifie la macro "AVOIRPDF" pour exécuter la macro "MajBase" :

Sub AVOIRPDF()
Dim Chemin As String, NomFichier As String

  NomFichier = Range("H16").Value & "_" & Range("H2").Value & "_" & Range("I2").Value & ".pdf"
  'NomFichier = Range("H16").Value & "_" & Range("I2").Value & "_Passation" & ".pdf"

  With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then    ' Clic sur Ok
     Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
     Exit Sub
    End If
  End With

  Sheets("FACTURE").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NomFichier, _
                                          Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                          IgnorePrintAreas:=False, OpenAfterPublish:=True
Range("AI1") = Chemin

CreateObject("WScript.Shell").Run "taskkill.exe /IM AcroRd32.exe /T /F", 0

MajBase   'Ajout GVS
End Sub

Je joins mon EXCEL de test.

Rechercher des sujets similaires à "generation log compta"