XL 2019 Suivi d'investissement et de commande

Tsimbina

XLDnaute Junior
Bonjour!

J'aimerai optimisé mon fichier Excel par des userformes sur les payement des suivis d'investissements et les payement des avance sur commande ainsi que le payement des commande.
Si quelqu'un peut m'aider je serais reconnaissant.
En PJ l'exemple du fichier.
 

Pièces jointes

  • investissement GOUTESr.xlsm
    65.8 KB · Affichages: 4

Tsimbina

XLDnaute Junior
Bonjour,
J'ai un code vba mais il bug , qu'un peut m'aider à le rectifier svp.
voici le code
VB:
Sub CompléterTableau()
    Dim wsEnregistrement As Worksheet
    Dim wsCommande As Worksheet
    Dim dernierLigne As Long
    
    ' Référence à la feuille "ENREGISTREMENT"
    Set wsEnregistrement = ThisWorkbook.Worksheets("ENREGISTREMENT")
    
    ' Référence à la feuille "COMMANDE"
    Set wsCommande = ThisWorkbook.Worksheets("COMMANDE")
    
    ' Trouver la dernière ligne utilisée dans le tableau de la feuille "COMMANDE"
    dernierLigne = wsCommande.Cells(wsCommande.Rows.Count, 1).End(xlUp).Row + 1
    
    ' Incrémenter le numéro de commande en fonction du nombre de lignes dans la feuille "COMMANDE"
    Dim numCommande As Long
    If dernierLigne = 2 Then
        numCommande = 1
    Else
        numCommande = wsCommande.Cells(dernierLigne - 1, 1).Value + 1
    End If
        
    ' Récupérer les valeurs du formulaire dans la feuille "ENREGISTREMENT"
    Dim commande As String
    Dim nom As String
    Dim dateCommande As Date
    Dim montant As Double
    Dim avance As Double
    Dim dateLivraison As Date
    
    commande = "COM-" & Format(numCommande, "00000")
    nom = wsEnregistrement.Range("I4").Value
    dateCommande = wsEnregistrement.Range("I5").Value
    montant = wsEnregistrement.Range("I6").Value
    avance = wsEnregistrement.Range("I7").Value
    dateLivraison = wsEnregistrement.Range("I8").Value


    ' Insérer une nouvelle ligne à la fin du tableau dans la feuille "COMMANDE"
    wsCommande.Rows(dernierLigne).Insert Shift:=xlDown

    ' Insérer les valeurs dans le tableau de la feuille "COMMANDE"
    With wsCommande
        .Cells(dernierLigne, 1).Value = numCommande
        .Cells(dernierLigne, 2).Value = commande
        .Cells(dernierLigne, 3).Value = nom
        .Cells(dernierLigne, 4).Value = dateCommande
        .Cells(dernierLigne, 5).Value = montant
        .Cells(dernierLigne, 6).Value = avance
        .Cells(dernierLigne, 8).Value = dateLivraison
    End With
    
    ' Réinitialiser le formulaire de saisie
    wsEnregistrement.Range("I4:I8").ClearContents
    
    ' Afficher un message de confirmation
    MsgBox "Les données ont été enregistrées avec succès.", vbInformation
End Sub
 

Discussions similaires

Réponses
4
Affichages
361

Membres actuellement en ligne

Statistiques des forums

Discussions
314 611
Messages
2 111 142
Membres
111 051
dernier inscrit
MANUREVALAND