1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| Sub copieclient()
Set Flcd = ThisWorkbook.Worksheets("CC2012")
Set Fl = ThisWorkbook.Worksheets("facturation prévisionnelle")
Set Flech = ThisWorkbook.Worksheets("Echéancier prévisionnel")
Set rancom = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)
If Not rancom Is Nothing Then
lNx = rancom.Row
Fl.Activate
' Remplissage de la feuille de facturation prévisionnelle.
Range("A1").Select
If Range("A2").Value <> "" Then ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
randes = ActiveCell.Row
ActiveCell.Offset(0, 1).Value = Flcd.Cells(lNx, 8) 'Nom du client
ActiveCell.Offset(0, 2).Value = rancom.Value 'Numéro de commande
ActiveCell.Offset(0, 3).Value = Flcd.Cells(lNx, 9) 'Nom du chantier
ActiveCell.Offset(0, 4).Value = Flcd.Cells(lNx, 5) 'statut(en cours/soldé)
ActiveCell.Offset(0, 5).Value = Date 'Date
Flcd.Cells(lNx, 1).Copy Fl.Cells(randes, 1) 'Numéro de Devis
U_Fact.Show
If satisf = True Then
Fl.Cells(randes, 7).Value = valtb1 'Numéro de Bon
Fl.Cells(randes, 9).Value = valtb2 'Numéro de palette
Fl.Cells(randes, 10).Value = valtb3 'Nombre de pierre
Fl.Cells(randes, 8).Value = valtb4 'Montant Hors taxe
Fl.Cells(randes, 11).Value = valtb5 'Versement
Fl.Cells(randes, 12).Value = cbo1 'Chèque ou espèce
Fl.Cells(randes, 13).Value = cbo2 'statut complete /partielle
Fl.Cells(randes, 14).Value = cbo3 'Vu par tel/mail/pers.
End If
If satisf = False Then
U_Fact.Hide
Flcd.Activate
End If
End If
Fl.Activate
' Somme des montants des bons de livraison dans le carnet de commande.
ligdebut = 4
ligfin = Fl.Range("A" & Fl.Rows.Count).End(xlUp).Row
For xndev = ligdebut To ligfin
ndevis = Fl.Cells(xndev, 1).Value
cib1 = ndevis
Set rcib1 = Flcd.Columns(1).Find(What:=cib1, LookAt:=xlPart)
Set rcibis = Flech.Columns(1).Find(What:=cib1, LookAt:=xlPart)
If Not rcib1 Is Nothing Then
Flcd.Cells(rcib1.Row, 12) = Application.WorksheetFunction.SumIf(Fl.Columns(1), cib1, Fl.Columns(8))
Flcd.Cells(rcib1.Row, 17) = Application.WorksheetFunction.SumIf(Fl.Columns(1), cib1, Fl.Columns(10))
Flcd.Cells(rcib1.Row, 20) = Application.WorksheetFunction.SumIf(Fl.Columns(1), cib1, Fl.Columns(9))
Flcd.Cells(rcib1.Row, 13) = Application.WorksheetFunction.SumIf(Fl.Columns(1), cib1, Fl.Columns(11))
End If
' Envoi dans l'échéancier prévisionnel
datecher = Fl.Cells(xndev, 6).Value
lemois = Month(datecher)
Select Case lemois
Case 1
colmois = 8
Case 2
colmois = 9
Case 3
colmois = 10
Case 4
colmois = 11
Case 5
colmois = 12
Case 6
colmois = 13
Case 7
colmois = 14
Case 8
colmois = 15
Case 9
colmois = 16
Case 10
colmois = 17
Case 11
colmois = 18
Case 12
colmois = 19
End Select
If Not rcibis Is Nothing Then
Flech.Cells(rcibis.Row, colmois) = Application.WorksheetFunction.SumIf(Fl.Columns(1), cib1, Fl.Columns(8))
End If
Next
Set Flcd = Nothing
Set Fl = Nothing
Set Flech = Nothing
End Sub |
Partager