manu_tella
XLDnaute Junior
Bonjour à tous,
J'utilise dans un code la fonction find et find next.
dans la boucle j’intègre une passe de check sur l'existence d'une variable dans une feuille...
ce contrôle semble perturber ma boucle findnext et je n'arrive pas a comprendre pourquoi.
je ne suis qu'un amateur, l'erreur va peut etre vous sauter aux yeux
lorsque je supprime le check et que regarde avec des espions tout semble bien se passermais dès que j’intègre le check, le passage sur la ligne Set c = Sheets("Matrice").Rows(line).FindNext(c) donne c = "nothing"
je ne peux malheureusement pas donner le fichier car il est confidentiel
d'avance merci pour votre aide précieuse
voici un extrait du code,
J'utilise dans un code la fonction find et find next.
dans la boucle j’intègre une passe de check sur l'existence d'une variable dans une feuille...
ce contrôle semble perturber ma boucle findnext et je n'arrive pas a comprendre pourquoi.
je ne suis qu'un amateur, l'erreur va peut etre vous sauter aux yeux
lorsque je supprime le check et que regarde avec des espions tout semble bien se passermais dès que j’intègre le check, le passage sur la ligne Set c = Sheets("Matrice").Rows(line).FindNext(c) donne c = "nothing"
je ne peux malheureusement pas donner le fichier car il est confidentiel
d'avance merci pour votre aide précieuse
voici un extrait du code,
VB:
Sub macro_manu()
Dim dmfi As String
Dim REQ, REQ_Status As String
Dim nb_REQ As Integer
Dim plage_req As Range
Dim I As Integer
Dim line, col As String
Dim Plage As Range, cell As Range
Dim trouve As Range
Dim c As Range
Dim feuille1 As Sheets
Dim croix As String
Dim j As String
Dim VAL, VAL_Status As String
dmfi = UserForm2.Frame3.ComboBox1.Value
I = 2
j = 10
k = 3
Set plage_req = Sheets("Matrice").Columns(3)
Do While Sheets("Existing_links").Cells(I, 1) <> ""
If Sheets("Existing_links").Cells(I, 1) = dmfi Then
nb_REQ = nb_REQ + 1
REQ = Sheets("Existing_links").Cells(I, 2)
Sheets("DMFI_export").Cells(j, 1) = REQ
REQ_Status = Sheets("Existing_links").Cells(I, 3)
Sheets("DMFI_export").Cells(j, 2) = REQ_Status
line = plage_req.Cells.Find(what:=REQ, lookat:=xlWhole).Row
Set c = Sheets("Matrice").Rows(line).Find(what:="x", lookat:=xlWhole)
If c Is Nothing Then
'MsgBox ("la REQ " & REQ & " n'est pas couverte")
non_couverte = non_couverte + 1
Else
FirstAddress = c.Address
Do
VAL = Sheets("Matrice").Cells(3, c.column)
VAL_Status = Sheets("Matrice").Cells(6, c.column)
Set trouve = Sheets("DMFI_export").Rows(8).Find(VAL, LookIn:=xlValues)
If trouve Is Nothing Then
Sheets("DMFI_export").Cells(8, k) = VAL
Sheets("DMFI_export").Cells(9, k) = VAL_Status
Sheets("DMFI_export").Cells(j, k) = "x"
nb_VAL = nb_VAL + 1
k = k + 1
Else
nk = trouve.column
Sheets("DMFI_export").Cells(8, nk) = VAL
Sheets("DMFI_export").Cells(9, nk) = VAL_Status
Sheets("DMFI_export").Cells(j, nk) = "x"
nb_VAL = nb_VAL + 1
End If
Set c = Sheets("Matrice").Rows(line).FindNext(c)
Loop While Not c Is Nothing And c.Address <> FirstAddress
End If
DoneFinding:
j = j + 1
End If
I = I + 1
Loop
End Sub
Dernière édition: