Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Facture Devis Tableau excel

David10

XLDnaute Nouveau
Salut, j'espere que vous aller bien?
je viens vers vous pour savoir si je peux avoir une reponse à ma question.
Depuis ma derniere question sur ce forum j'ai reussi à faire pas mal de chose et d'amélioration au niveau de mon fichier.
Ma Question:
comment je peux faire pour que les données sur ma facture (qui n'est pas trop différent de mon devis à part les quantités et les libellés) avec un bouton s'intègre directement dans ma base de données sur la ligne correspondant à SON devis, pour éviter que je vienne les réécris à la main.

Merci bien d'avance
 
Solution
Un essai à compléter.
VB:
Option Explicit

Sub EnregistrerFacture()
    Dim c As Range, NoDevis As Range, Ligne As Integer
    Dim Bdd As Worksheet, Fact As Worksheet
    Set Bdd = Worksheets("BDD-CHANTIERS")
    Set Fact = Worksheets("facture(3)")

    Set NoDevis = Fact.Range("C15")

    Set c = Range("T_DEVISS[N°Devis]").Find(what:=NoDevis.Value, LookAt:=xlWhole)

    If Not c Is Nothing Then

        Ligne = c.Row    ' n° de ligne du devis

        Bdd.Cells(Ligne, 34) = Fact.Range("c14")
        Bdd.Cells(Ligne, 35) = Fact.Range("c15")
        Bdd.Cells(Ligne, 36) = Fact.Range("g51")

        'faire la suite

    Else
        MsgBox "N° devis " & NoDevis & " non trouvé!"
    End If
    Set Bdd = Nothing
    Set Fact = Nothing...

cp4

XLDnaute Barbatruc
Un essai à compléter.
VB:
Option Explicit

Sub EnregistrerFacture()
    Dim c As Range, NoDevis As Range, Ligne As Integer
    Dim Bdd As Worksheet, Fact As Worksheet
    Set Bdd = Worksheets("BDD-CHANTIERS")
    Set Fact = Worksheets("facture(3)")

    Set NoDevis = Fact.Range("C15")

    Set c = Range("T_DEVISS[N°Devis]").Find(what:=NoDevis.Value, LookAt:=xlWhole)

    If Not c Is Nothing Then

        Ligne = c.Row    ' n° de ligne du devis

        Bdd.Cells(Ligne, 34) = Fact.Range("c14")
        Bdd.Cells(Ligne, 35) = Fact.Range("c15")
        Bdd.Cells(Ligne, 36) = Fact.Range("g51")

        'faire la suite

    Else
        MsgBox "N° devis " & NoDevis & " non trouvé!"
    End If
    Set Bdd = Nothing
    Set Fact = Nothing
    Set NoDevis = Nothing
    Set c = Nothing
End Sub
edit: code corrigé
 
Dernière édition:

David10

XLDnaute Nouveau
Merci @cp4 je vais essayer de m'en inspirer pour mon fichier, je comprends mieux. je te dirai quand j'aurai reussi.
 

David10

XLDnaute Nouveau
J'ai reussi à le complèter et l'appliquer en fonction de mon fichier. Encore merci beaucoup @cp4 !!!
 

Discussions similaires

Réponses
8
Affichages
469
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…