Bonjour à tous,

Je me retrouve confronter à un petit problème dans mon code VB et j'espère que vous pourrez m'aider.

Contexte:
J'ai un premier tableau excel (de 11 colonnes). Dans la colonne 1 de ce tableau j'ai une liste de noms, colonnes 10 et 11 sont des champs calculés dont les résultats peuvent prendre plusieurs valeurs différentes dont #N/A et 0 (ce sont ces deux valeurs qui m'intéresse dans ce cas là).

J'ai également un deuxième tableau à coté du premier (de la colonne 13 à 15 de la même feuille).

Le but de la macro est qu'à chaque fois que l'on a #N/A et 0 dans le tableau 1 on vient copier le contenu des colonne 1, 10 et 11 à partir de la dernière ligne du tableau 2.

Voici les lignes de codes que j'ai aujourd'hui:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub listmanquants()

Dim WsS As Worksheet
Dim DerLig1 As Long, DerLig2 As Long, R As Long, newLig As Long


Application.ScreenUpdating = False

Set WsS = Sheets("Siglum") 'Feuille source

DerLig1 = Range("A" & Rows.Count).End(xlUp).Row
DerLig2 = Range("M" & Rows.Count).End(xlUp).Row
 
newLig = DerLig2
 
For R = 1 To DerLig1 'Boucle sur toutes les lignes de la Page 1
    If IsError(WsS.Cells(R, 10)) Or WsS.Cells(R, 10) = "0" Then (c'est là où j'ai un problème!)
        newLig = newLig + 1 'Permet l'incrémentation de la cible
        WsS.Cells(newLig, 13) = WsS.Cells(R, 1) 'Affecte le nom sur une nouvelle ligne de la page cible
        WsS.Cells(newLig, 14) = WsS.Cells(R, 10)
        WsS.Cells(newLig, 15) = WsS.Cells(R, 11)
    End If
Next R

Application.ScreenUpdating = True

End Sub
Merci de votre aide.