Bonjour à tous,
J'ai besoin de modifier une macro pour mon boulot mais je ne maitrise pas du tout le vba..
Voici ce que j'aimerais formuler (entre autres...) :
Insérer la formule =RECHERCHEV(D27;Feuil2!B$17 :G$5770 ;2 ;FAUX) en J27. Etirer cette formule jusqu’en bas du tableau pour chaque ligne non vide.
Voici le code de la macro :
Sub insere()
Set ws1 = Worksheets("Feuil1")
Set ws2 = Worksheets("Feuil2")
Set ws3 = Worksheets("feuil3")
ws1.Cells.Copy ws3.Range("A1")
ws3.Columns(2).Insert shift:=xlRight
pl = ws3.Range("A:A").Find("Lg cde").Row
dl = ws3.Range("D:D").Find("Tous les montants sont exprimés en").Row
ws3.Rows(dl).Delete
dl = dl - 2
ws2.Range("A1:C1").Copy ws3.Range("A" & pl)
ws2.Range("A3:M5").Copy ws3.Range("G" & pl)
ws3.Range("C" & pl + 1 & ":C" & dl).Copy ws3.Range("A" & pl + 1)
pl = pl + 1
ws3.Range("C" & pl + 1).Formula = "=A" & pl + 1 & "*B" & pl + 1
For i = pl To dl
If ws3.Range("A" & i) <> "" Then
ws3.Range("B" & pl + 1).Copy ws3.Range("B" & i)
ws3.Range("C" & pl + 1).Copy ws3.Range("C" & i)
ws3.Range("B" & i) = ws1.Range("H" & i) / ws3.Range("A" & i)
ws3.Range("H" & pl + 1 & ":S" & pl + 1).Copy ws3.Range("H" & i)
End If
Next i
ws3.Range("A" & dl & ":S" & dl).Borders(xlEdgeBottom).Weight = xlMedium
ws3.Range("S" & pl & ":S" & dl).Borders(xlEdgeRight).Weight = xlMedium
ws3.Range("K" & pl & ":K" & dl).Borders(xlEdgeRight).LineStyle = xlNone
ws3.Columns("I:S").EntireColumn.AutoFit
ws3.Columns("A:B").EntireColumn.AutoFit
ws2.Range("A8:N12").Copy ws3.Range("F" & dl + 1)
ws3.Range("J" & dl + 1).Formula = "=sum(L" & pl & ":L" & dl & ")"
ws3.Range("J" & dl + 2).Formula = "=sum(N" & pl & ":N" & dl & ")"
ws3.Range("J" & dl + 3).Formula = "=sum(R" & pl & ":R" & dl & ")"
ws3.Range("J" & dl + 4).Formula = "=sum(C" & pl & ":C" & dl & ")"
ws3.Range("J" & dl + 5).Formula = "=sum(A" & pl & ":A" & dl & ")"
Set ws1 = Nothing
Set ws2 = Nothing
Set ws3 = Nothing
Sheets("Feuil3").Select
Range("E2").Select
ActiveCell.FormulaR1C1 = "Liste de colisage / Packing list"
Range("E3").Select
Sheets("Feuil1").Select
End Sub
Merci par avance !