OVH Cloud OVH Cloud

Définir une formule dans macro

1 réponse
Avatar
Françoise
Bonjour =E0 tous,

Isabelle m'a donn=E9 une macro pour lancer dans chaque=20
feuille d'un dossier sauf 2, une fonction RechercheV et=20
copier les valeurs trouv=E9es dans la feuille correspondante
Ceci devant servir =E0 tenir =E0 jour des stocks produits.

Bon je coince (encore une fois !) car la fonction D et PU=20
n'arrivent pas =E0 =EAtre interpr=E9t=E9e.

Comment les d=E9finir correctement pour que le travail se=20
fasse ?
Quelqu'un a-t-il une id=E9e ?
D'avance merci=20
----
Sub MAJStock()
'
Dim f As Variant

Dim D As ???
Dim PU As ???

For Each f In Sheets
If f.Name <> "D=E9compteD" And f.Name <> "D=E9comptePU" Then
f.Select
'les 3 lignes du dessous n'en sont qu'une seule"
D =3D Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,D=E9compteD!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,D=E9compteD!A:D,3,TRUE))")

'les 3 lignes du dessous n'en sont qu'une seule"
PU =3D Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,D=E9comptePU!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,D=E9comptePU!A:D,3,TRUE))")

If D <> "" Then
Range("C" & Range("C65536").End(xlUp).Row) =3D [C2]
Range("D" & Range("D65536").End(xlUp).Row) =3D [D2]
ElseIf PU <> "" Then
Range("C" & Range("C65536").End(xlUp).Row) =3D [D2]
Range("D" & Range("D65536").End(xlUp).Row) =3D [E2]
End If
End If
Next

End Sub
----
Fran=E7oise

1 réponse

Avatar
michdenis
Bonjour Françoise,

Dim D As Variant
Dim PU As Variant



Salutations!

"Françoise" a écrit dans le message de
news:5d4a01c42de0$6e02ad90$
Bonjour à tous,

Isabelle m'a donné une macro pour lancer dans chaque
feuille d'un dossier sauf 2, une fonction RechercheV et
copier les valeurs trouvées dans la feuille correspondante
Ceci devant servir à tenir à jour des stocks produits.

Bon je coince (encore une fois !) car la fonction D et PU
n'arrivent pas à être interprétée.

Comment les définir correctement pour que le travail se
fasse ?
Quelqu'un a-t-il une idée ?
D'avance merci
----
Sub MAJStock()
'
Dim f As Variant

Dim D As ???
Dim PU As ???

For Each f In Sheets
If f.Name <> "DécompteD" And f.Name <> "DécomptePU" Then
f.Select
'les 3 lignes du dessous n'en sont qu'une seule"
D = Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,DécompteD!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,DécompteD!A:D,3,TRUE))")

'les 3 lignes du dessous n'en sont qu'une seule"
PU = Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,DécomptePU!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,DécomptePU!A:D,3,TRUE))")

If D <> "" Then
Range("C" & Range("C65536").End(xlUp).Row) = [C2]
Range("D" & Range("D65536").End(xlUp).Row) = [D2]
ElseIf PU <> "" Then
Range("C" & Range("C65536").End(xlUp).Row) = [D2]
Range("D" & Range("D65536").End(xlUp).Row) = [E2]
End If
End If
Next

End Sub
----
Françoise