Saltar al contenido

control pago a proveedores


Recommended Posts

publicado

buenos dias, tengo en un mismo libro una hoja de registro de proveedores y luego otras hojas con sus respectivos pagos en bancos.

quisiera que por medio de macros o formulas desde proveedores automaticamente se coloquen en sus respectivas hojas.

por ejemplo, un proveedor al que tenga que pagar a 30, 60 y 90 dias una factura por el bsch por un valor total de 1000 euros me lo coloque ordenadamente en la hoja bsch cogiendo su fecha de factura y que me lo desglose en relacion a los dias de pago. por ejemplo si la factura es de 1 de marzo me ponga 1/3 el 31 de marzo, 1/3 el 30 de abril y 1/3 el 30 de mayo (30, 60 y 90 dias a fecha factura).

a otros proveedores les pago a 90 dias en un solo pago, pues que coja la fecha de factura y que calcule 90 dias y la coloque en la hoja correspondiente de su banco y a otros proveedores les pago a 30 y 45 dias que les fraccione el pago de factura 1/2 y 1/2.

en fin, espero haberme hecho entender. de todos modos dejo un archivo explicativo para ello. me corre mucha prisa,....espero me ayudeis.

un saludo y gracias anticipadas al foro

control proveedores.xls

publicado

Buenas, arrian

Dado que los días de pago es una variable básica para poder estructurar el código de tu macro, quizás deberías, en tu hoja proveedores tener 3 columnas, por ejemplo desde la "I" a la "K" en dónde pudieras marcar los días de pago.

O eso, o debes estar seguro de escribir absolutamente siempre igual algunas de esas 3 opciones, de manera que la propia opción fuera el valor de una variable.

No sé si me he explicado correctamente ó te he liado más......jejeje

Y por cierto, si tienes mucha prisa quizás no sea este el lugar donde plantear estas consultas, dado que los usuarios que intentamos echar una mano a los demás lo hacemos de manera totalmente solidaria y altruista y como comprenderás, en esas condiciones no debe haber ningún tipo de "presión" para cumplir plazos, etc....que sí se dan en una relación de tipo laboral....

Un saludo,

Tese

publicado

Hola:

Te adjunto la generación de vencimientos de pago a proveedores en el banco indicado.

He añadido algunas columnas necesarias para el proceso.

Presta especial atención a las listas que hay a partir de la columna AA.

A mi parecer tienes algún fallo conceptual, pero ya te irás dando cuenta con el tiempo y es preferible que los detectes tu mismo en el trabajo del día a día.

Saludos.

control proveedores.xls

publicado

hola tese, estoy totalmente de acuerdo con tu opinion, gracias por tu idea.

- - - - - Mensaje combinado - - - - -

hola macro antonio, he comprobado el fichero y mas o menos es lo que quiero, pero al intentar ejecutar de nuevo el codigo por la introduccion de nuevos proveedores con el boton no funciona y no introduce esos nuevos datos a las hojas de bancos,...como se podria hacer, quizas con algun bucle??? y el sumatorio de los bancos lo haria con un simple subtotal, como podria quitar el loop y la suma en vb sin que afecte al funcionamiento de dicho codigo??? lo de las columnas aa y siguientes me quedo claro, gracias por todo

publicado

Mis disculpas, había un error en la macro, sustituye este procedimiento:

Private Sub Asignar_Click()
Dim Fila


For x = 3 To Range("B" & Rows.Count).End(xlUp).Row


[B] If Not UCase(Range("H" & x)) = "PAGADO" And Not UCase(Range("L" & x)) = "ASIGNADO" Then[/B]

If ComprobarBanco(Range("K" & x)) = False Then
Range("M" & x) = "Banco erróneo. "
End If

If ComprobarCondicionDePago(Range("J" & x)) = False Then
Range("M" & x) = Range("M" & x) & "Falta condición de pago."
End If

y = Range("AE" & CP).Column
vto = 1
Do Until Cells(CP, y) = ""
Fila = Banco.Range("A" & Rows.Count).End(xlUp).Row + 1
Banco.Range("A" & Fila) = Range("A" & x)
Banco.Range("B" & Fila) = vto
Banco.Range("C" & Fila) = Range("B" & x)
Banco.Range("D" & Fila) = Range("C" & x) + Cells(CP, y + 1)
Banco.Range("E" & Fila) = Round(Range("G" & x) * Cells(CP, y) / 100, 2)
Banco.Range("F" & Fila) = Range("D" & x)
Range("L" & x) = "ASIGNADO"
vto = vto + 1
y = y + 2
Loop
Banco.Range("D" & Fila + 1) = "TOTAL"
Banco.Range("E" & Fila + 1).FormulaLocal = "=SUMA(E3:E" & Fila & ")"

[B] End If[/B]

Next


End Sub


[/CODE]

Te resalto la modificación.

Eso si, si tienes bancos nuevos, has de crear su hoja correspondiente de forma manual.

publicado

funciona perfecto, gracias macro antonio!!!!:-) una cuestion mas.... como podria hacer que a la vez que se pasan los datos a los respectivos bancos, se fueran ordenando automaticamente por fecha? quiero decir, tengo ya un proveedor x con fecha 12-04-13 y ahora introduzco otro en la hoja de proveedores con fecha de 10-04-13,....lanzo la macro y que se posicionara antes del que ya tenia (ya que la fecha es anterior)??? un saludo y gracias por todo el esfuerzo, me has ayudado muchisimo

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.