Hello la compagnie
J'ai un code vba pour mettre à jour une liste de prix dans le fichier de travail depuis un fichier source:
Private Sub CommandButton1_Click()
Dim SourceSheet As Object
Dim SourceRefCol As Long
Dim SourcePriceCol As Long
Set SourceSheet = wbSource.Sheets(lbxSheets.Text) 'sourcesheet objet feuille sélectionné
SourceRefCol = col(SourceSheet, lbxHeaderRef.Text) 'numéro de colonne correspondant au header
SourcePriceCol = col(SourceSheet, lbxHeaderPrice.Text) 'numéro de colonne correspondant au header
With SourceSheet
dl = .Cells(Rows.Count, SourceRefCol).End(xlUp).Row
Set plgref = .Cells(1, SourceRefCol).Resize(dl, 1) 'plage des references
Set plgprice = .Cells(1, SourcePriceCol).Resize(dl, 1) 'plage des prix
Set wst = ThisWorkbook.Sheets("source")
dl = wst.Cells(Rows.Count, 4).End(xlUp).Row
With wst.Range("S9:S" & dl) 'mise à jour des prix
.Formula = "=index(" & plgprice.Address(, , , True) & ",match(""MG"" &D9," & plgref.Address(, , , True) & ",0))"
.Calculate
.Value = .Value
End With
End With
wbSource.Close False 'on ferme la source
End Sub
Sauf que cela ne fonctionne pas/plus....
mon problème semble provenir de la ligne .Value = .Value
Une idée de la coquille?