Bonjour à tous, débutant sur VBA j'ai une macro où à l'intérieur j'ai une fonction sierreur avec une variable sur 12.000 lignes qui est un peu longue.
Avec l'aide de ce forum, j'ai réussi à réduire le temps de ma rechercheV, j'ai voulu reprendre ce model pour réduire ma fonction sierror sauf que ça ne fonctionne pas (il n'y a pas d'erreur) j'ai des zéros partout. Pourriez-vous m'aider svp ? Merci beaucoup.
Avec l'aide de ce forum, j'ai réussi à réduire le temps de ma rechercheV, j'ai voulu reprendre ce model pour réduire ma fonction sierror sauf que ça ne fonctionne pas (il n'y a pas d'erreur) j'ai des zéros partout. Pourriez-vous m'aider svp ? Merci beaucoup.
VB:
'Fonction Si erreur actuelle un peu longue'
For j = 2 To 12000
If Cells(j, 9).Value = "x" Then
Cells(j, 19).Value = "=iferror(Cells(j, 18) * Cells(j, 8),0)"
Else
Cells(j, 19).Value = 0
End If
Next j
'Fonction rechercheV rapide
DerLig = sh.Range("Q" & Rows.Count).End(xlUp).Row
sh.Range(Cells(2, 18), Cells(DerLig, 18)) = "=iferror(VLOOKUP(RC[-1],'[DB Articles.xlsx]Synthèse'!C3:C4,2,0),0)"
sh.Range(Cells(2, 18), Cells(DerLig, 18)).Value = sh.Range(Cells(2, 18), Cells(DerLig, 18)).Value
'Test d'amélioration de la fonction SIERROR qui ne marche pas
DerLig2= sh.Range("Q" & Rows.Count).End(xlUp).Row
sh.Range(Cells(2, 19), Cells(DerLig, 19)) = "=iferror(Range(Cells(2, 18), Cells(DerLig, 18))*Range(Cells(2, 8), Cells(DerLig, 8)),0)"
sh.Range(Cells(2, 19), Cells(DerLig, 19)).Value = sh.Range(Cells(2, 19), Cells(DerLig, 19)).Value