VBA vérification numérique
Bonjour,
J'ai créé un code me permettant de calculer la moyenne et un cumul sur plusieurs périodes et pour plusieurs individus (les données sont dans un tableau). Cependant, le code se stop à "x = x + tablo(n, m)" (ligne 11) car il y a des fois des #N/A dans mon tableau de données. Je cherche donc une solution pour ne pas prendre en compte les #N/A, comme un If Numeric...
Je suis ouvert à toute proposition. Voici mon code (je ne met pas mon fichier car confidentiel et le code étant 'court'):
Merci!
Sub Calculs1()
' Moyenne et cumul 6 mois-----------------------'
With Feuil6
derlin = .Range("A" & Rows.Count).End(xlUp).Row
dercol = .Cells(1, Columns.Count).End(xlToLeft).Column
tablo = .Range(Cells(1, 1).Address & ":" & Cells(derlin, dercol).Address)
ReDim tabsort(1 To 2, 0)
For n = LBound(tablo, 1) + 1 To UBound(tablo, 1)
ReDim Preserve tabsort(1 To 2, UBound(tabsort, 2) + 1)
For m = LBound(tablo, 2) + 1 To UBound(tablo, 2)
x = x + tablo(n, m)
Nb = Nb + 1
If m > dercol - 6 Then
y = y + tablo(n, m)
End If
Next
tabsort(1, UBound(tabsort, 2) - 1) = x / Nb
tabsort(2, UBound(tabsort, 2) - 1) = y
x = 0
y = 0
Nb = 0
Next
End With
With Feuil5
.Range("D7:E" & Rows.Count).ClearContents
.Range("D7").Resize(UBound(tabsort, 2) + 1, 2) = Application.Transpose(tabsort)
End With
End Subp
Bonjour,
Tu as le choix : IsNumeric ou IsError
Exemple :
If IsNumeric(tablo(n, m)) Then
x = x + tablo(n, m)Ou encore :
If Not IsError(tablo(n, m)) Then
x = x + tablo(n, m)