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:
Merci de votre aide.
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
Partager