Fonction Sierreur en VBA

Pino12

XLDnaute Junior
Bonjour à tous,


Je souhaite insérer l'équivalent d'une fonction Sierreur dans le code ci-dessous afin que les fonctions VLOOKUP me renvoient "0" à la place du traditionnel #N/A.
Quelqu'un aurait-il une idée de comment s'y prendre ? :)

'Sub Ventes_et_stocks_test()

Dim f$, h&, c As Range, fich$
f = "Ventes et Stocks Magasins"
h = Application.Match("TOTAL", [C:C], 0) - 7 'la hauteur du tableau peut varier
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si des fichiers n'existent pas
For Each c In Range("E6", Cells(6, Columns.Count).End(xlToLeft))
If c = "Vtes" Then
fich = "Jeunesse S" & Val(Replace(c(0, 0), "Semaine", "")) & ".xlsx"
c(2).Resize(h) = "=VLOOKUP(RC1,'[" & fich & "]" & f & "'!R4C1:R20000C22,21,0)"
c(2, 2).Resize(h) = "=VLOOKUP(RC1,'[" & fich & "]" & f & "'!R4C1:R20000C22,22,0)"
End If
Next


'
End Sub


Merci d'avance pour vos réponses :)
 

job75

XLDnaute Barbatruc
Re : Fonction Sierreur en VBA

Bonjour Pino12, Dugenou,

Il s'agit du fichier de ce fil :

https://www.excel-downloads.com/threads/besoin-dun-coup-de-main-pour-une-macro.222896/

Code:
Sub Ventes_et_stocks_test()
Dim f$, h&, c As Range, fich$
f = "Ventes et Stocks Magasins"
h = Application.Match("TOTAL", [C:C], 0) - 7 'la hauteur du tableau peut varier
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si des fichiers n'existent pas
For Each c In Range("E6", Cells(6, Columns.Count).End(xlToLeft))
  If c = "Vtes" Then
    fich = "Jeunesse S" & Val(Replace(c(0, 0), "Semaine", "")) & ".xlsx"
    c(2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'[" & fich & "]" & f & "'!R4C1:R20000C22,21,0),0)"
    c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'[" & fich & "]" & f & "'!R4C1:R20000C22,22,0),0)"
    c(2, 3).Resize(h + 1) = "=IFERROR(RC[-1]/RC[-2],0)"
  End If
Next
End Sub
Bien sûr SIERREUR n'existe qu'à partir d'Excel 2007...

A+
 

Discussions similaires

Réponses
5
Affichages
489
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 217
Messages
2 086 352
Membres
103 195
dernier inscrit
martel.jg