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

Insertion de valeur dans un tableau

yuplop

XLDnaute Nouveau
Bonjour,

Je viens vers vous car je galère:
J'ai créé un formulaire pour pouvoir créer de nouveau client. A partir de ce formulaire, une fiche cliente est renseigné automatiquement avec les informations du formulaire.

Ce formulaire contient aussi des intitulé de facture avec leur montant et leur date de facturation.

En plus de la fiche client renseigné automatiquement, une nouveau classeur doit être renseigné avec les montant des factures en fonction de la date.

Pour l'instant, ce nouveau classeur s'ouvre sur le bon onglet, sur la dernière ligne disponible, le nom du client est renseignée en colonne A, les intitulés de facture en colonne B (image "tab3.jpg" en pièce jointe)



Je n'arrive pas à insérer le montant des différentes factures en fonction des dates saisies dans le formulaire et des intitulé s des factures




VB:
Private Sub CommandButton1_Click()

Dim Copie(33) As String, j%, i%, k%, p%, derLigne As Integer, derLigne2 As Integer, plop As Integer, previ As Worksheet, name As Range, dateref As Date, montant(33), dateact As Range

With ThisWorkbook.Worksheets("Clients")
    dateref = .Range("B17")
    Copie(0) = .Range("B4")
    For i = 1 To 6
            Copie(i) = .Range("A" & i + 15)
            montant(i) = .Range("B" & i + 15)
    Next i
    k = 6
    For j = 7 To 33
        If (.Range("B" & j + 17)) <> "" Then
            k = k + 1
            Copie(k) = .Range("A" & j + 17)
            montant(k) = .Range("D" & j + 17)
        End If
    Next j
End With

Workbooks.Open "C:\Users\XXXXX\Desktop\ENT\TABLEAUX AVANCEMENT PAIEMENT.xlsx" '

Set previ = ActiveWorkbook.Worksheets("Prévisionnel 2017")
derLigne = previ.Range("b" & Rows.Count).End(xlUp).Row + 1
plop = previ.Range("b" & Rows.Count).End(xlUp).Row + 1

previ.Cells(derLigne, 1).Value = Copie(0)

For k = LBound(Copie) + 1 To UBound(Copie)
    previ.Cells(derLigne, 2).Value = Copie(k)
    derLigne = derLigne + 1
Next k

derLigne2 = previ.Range("b" & Rows.Count).End(xlUp).Row

With Sheets("Prévisionnel 2017").Range(Cells(plop, 1), Cells(derLigne2, 14))
    .Borders.Weight = xlThin
    .Borders(xlInsideVertical).Weight = xlMedium
    .Borders(xlEdgeBottom).Weight = xlMedium
End With

With Sheets("Prévisionnel 2017").Range(Cells(plop, 1), Cells(derLigne2, 1))
    .Merge
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
End With

End Sub
 

Discussions similaires

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