Saltar al contenido

control pago a proveedores


Recommended Posts

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

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

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.

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

Archivado

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

  • 93 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Gracias tomarse el tiempo de leer por responder Maestro @Antoni Adjunto el archivo con la idea a la que deseo llegar, sigo atento. Mil gracias por el tiempo y la ayuda brindada   Media Attention Formula 1.2.xlsb
    • He analizado la UDF y entiendo perfectamente lo que hace, lo que no entiendo es lo que pretendes hacer. Mejor sube un ejemplo resuelto de  como debería funcionar la UDF con los nuevos parámetros solicitados. 
    • Gracias, ya lo conseguí solucionar
    • Hola a todos Primero que nada deseo agradecer el tiempo en leer este post, Muchas Gracias. Me acerco a ustedes para pedir su ayuda para lo siguiente: Tengo una UDF, la cual tiene dos escenarios: 1.- Si Tiempo Promedio y Duración del Video son diferentes de 0, hacer el calculo 2.- Si lo anterior es igual a 0, se realiza el otro calculo por cuartiles. El detalle es que son muchas celdas a seleccionar, lo cual creo puede ser engorroso, entonces, pensando en simplificar la función, me pregunte si fuera posible: a.- Colocar 1 al principio de la función y después solo seleccionar 2 celdas correspondientes (Rango continuo o discontinuo) b.- Colocar 2 al principio de la función y después seleccionar las 5 celdas correspondientes (Rango continuo o discontinuo) Espero me puedan ayudar y/o orientar al respecto, quedo atento para cualquier duda, de antemano les agradezco cualquier ayuda brindada. Mil Gracias!! Media Attention Formula 1.1.xlsb  
    • si dentro de un tiempo "razonable" no consigues alguna propuesta, considera la posibilidad de que tu consulta no sea lo claro necesaria (?) la forma de preguntar en foros (como este) "debiera" ser como sigue: en tu siguiente mensaje, agrega comentarios que contengan (como minimo) lo siguiente: > claridad... detalle... procedimiento... resultado esperado - - (opcional: formulas y funciones intentadas, rangos, ejemplos resueltos a mano, etc.) > de la "claridad" en el "detalle"... se obtiene la claridad del "procedimiento" > de la claridad en el procedimiento... se obtiene el "resultado esperado" si te resulta dificil explicar con palabras, adjunta (una copia muy RE-DU-CI-DA de) TU modelo por "re-du-ci-da" me refiero a un adjunto de no mas de 10 a 30 Kb (SIN "formatitis") considerando que: "la parte mas importante de una instruccion... es el resultado que se debe obtener"
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.