OVH Cloud OVH Cloud

Copie sur derniere ligne (macro)

1 réponse
Avatar
Françoise
J'ai une macro de mise =E0 jour de stock.
mon tableau est=20
A2 =3D ref produit
A3 =3D qt=E9 initiale
B3 =3D prix HT
C3 =3D qt=E9 utilis=E9e dans commande de C3
D3 =3D n=B0 cde

---
la macro s'execute mais copie les valeurs dans
C3 =3D erreur avec #valeur
D3 =3D n=B0 cde
---
les valeurs devraient s'inscrire en C4 et D4, or elles=20
=E9crasent ma ligne de titre
---
voici la macro :

Sub MAJStock()

Dim f As Variant

Dim D As Variant
Dim PU As Variant

For Each f In Sheets
If f.Name <> "D=E9compteD" And f.Name <> "D=E9comptePU" Then
f.Select

Ces 3 lignes ci-dessous ne forme qu'une seule ligne
D =3D Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,D=E9compteD!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,D=E9compteD!A:D,4,TRUE))")

Ces 3 lignes ci-dessous ne forme qu'une seule ligne
PU =3D Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,D=E9comptePU!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,D=E9comptePU!A:D,4,TRUE))")

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

End Sub
---
Quelqu'un peut il m'aider dans ce casse-t=EAte ?
D'avance merci
Fran=E7oise

1 réponse

Avatar
Nicolas B.
Salut,

Pas testé, mais il me semble qu'il faudrait ajouter 1 à la dernière ligne
pour remplir la suivante :
...
Range("C" & Range("C65536").End(xlUp).Row+1) = [C]
Range("D" & Range("D65536").End(xlUp).Row+1) = [D]
ElseIf PU <> "" Then
Range("C" & Range("C65536").End(xlUp).Row+1) = [C]
Range("D" & Range("D65536").End(xlUp).Row+1) = [D]
...


A+
--
Nicolas B.


J'ai une macro de mise à jour de stock.
mon tableau est
A2 = ref produit
A3 = qté initiale
B3 = prix HT
C3 = qté utilisée dans commande de C3
D3 = n° cde

---
la macro s'execute mais copie les valeurs dans
C3 = erreur avec #valeur
D3 = n° cde
---
les valeurs devraient s'inscrire en C4 et D4, or elles
écrasent ma ligne de titre
---
voici la macro :

Sub MAJStock()

Dim f As Variant

Dim D As Variant
Dim PU As Variant

For Each f In Sheets
If f.Name <> "DécompteD" And f.Name <> "DécomptePU" Then
f.Select

Ces 3 lignes ci-dessous ne forme qu'une seule ligne
D = Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,DécompteD!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,DécompteD!A:D,4,TRUE))")

Ces 3 lignes ci-dessous ne forme qu'une seule ligne
PU = Evaluate("IF(ISERROR(VLOOKUP(" & f.Name & "!
A2,DécomptePU!A:D,3,TRUE)),"""",VLOOKUP(" & f.Name & "!
A2,DécomptePU!A:D,4,TRUE))")

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

End Sub
---
Quelqu'un peut il m'aider dans ce casse-tête ?
D'avance merci
Françoise