Bonjour à tous,
je souhaite faire une macro qui va me rechercher les valeurs d'un tableau dans une feuille téléchargé et créer un autre workbook et me coller les données sous un format spécifique. Je suis débutant en macro mais j'ai essayé de faire le faire mais il manque quelque chose.
mon but c'est si l'ins_code est présent et que les colonnes allergie ont une valeur alors tu me prendre les valeurs et tu me le colle dan
Sub gen_fic_forcage(ws As Worksheet, ladate As Date, groupe As String, path As String)
Dim fic_forcage As Workbook: Set fic_forcage = Workbooks.Add
Dim ws_forcage As Worksheet: Set ws_forcage = fic_forcage.Sheets(1)
Dim curr_wb As Workbook: Set curr_wb = ThisWorkbook
Dim template As Worksheet: Set template = curr_wb.Sheets(1)
Dim nL As Double: nL = ws.Cells(1, 1).End(xlDown).Row
Dim i As Double, cpt As Double
ws_forcage.Cells(1, 1) = "inst_code"
ws_forcage.Cells(1, 2) = "param"
ws_forcage.Cells(1, 3) = "valeur"
cpt = 2
For i = 2 To nL
If Len(template.Cells(i, 2)) <> "" Or Len(template.Cells(i, 3)) <> "" Or Len(template.Cells(i, 4)) <> "" Or Len(template.Cells(i, 5)) <> "" Or Len(template.Cells(i, 6)) <> "" Or Len(template.Cells(i, 7)) <> "" Then
ws_forcage.Cells(cforçage.odsforçage.odsforçage.odspt, 1) = template.Cells(i, 1)
ws_forcage.Cells(cpt, 2) = "'" & Format(template.cells(14,2), "YYYY-MM-DD")
ws_forcage.Cells(cpt, 3) = template.Cells(i, 3)
ws_forcage.Cells(cpt, 4) = template.Range("DZ1: EF1").Copy
ws_forcage.Cells(cpt, 4).PasteSpecial Transpose:=True
ws_forcage.Cells(cpt, 5) = template.Range("DZ2: EF2").Copy
ws_forcage.Cells(cpt, 5).PasteSpecial Transpose:=True
ElseIf Len(ws_forcage.Cells(i, 4)) <> "" And Len(ws_forcage.Cells(i, 5)) = "" Then
ws_forcage.Cells(i, cpt).EntireRow.Delete
cpt = cpt + 1
End If
Next i
fic_forcage.SaveAs path & Format(ladate, "YYYY-MM-DD") & "_Import_forcage_" & groupe & "_" & Format(Date, "YYYY-MM-DD") & "-" & Format(Now, "HHMMSS")
fic_forcage.Close
End Sub
Partager