Crash d'Excel à l'exécution d'une macro
Bonjour à tous,
J'avais déjà posté à propos d'un programme de gestion des factures et des clients.
Le programme est terminé et fonctionne bien sur excel 2003 et apparement 2007.
Seulement sur excel 2010 (deux ordinateurs testés), J'ai un problème lors de l'exécution de la macro qui est la plus importante.
excel crash et ne donne pas d'autre message d'erreur.
Celle-ci s'exécute lorsque vous pressez le bouton: "registrar factura" dans la feuille factura.
Il s'agit comme vous le verrez d'enregistrer le numéro de la facture, la date, le nom du client, "l'importe", l'I.V.A. et "l'importe total" dans la feuille lista de facturas. Et d'ensuite rafraîchir la page de facture pour un nouveau client. Rafraîchir donc le nom du client sur cette page(les autres donées sont automatiques) et augmenter le numéro de facture quel qu'il soit de 1.
Effacer également les données: "nombre del producto", "candidad" et "tipo de venta" dans la feuille "venta".
J'ai également essayé de réaliser cette macro par enregistrement d'une simulation manuelle et le problème est resté le même: excel crash et ne donne pas d'autre message d'erreur.
Et uniquement donc sur excel 2010. Ce qui est d'autant plus étrange car ce même programme a fonctioné sans aucun problème au début sur mon pc, même après redémarage et il n'a pas été modifié.
Etes-vous capables de m'aider?
Avec toute ma sympathie,
Elestranjero
Bonjour
J'ai un peu réarrangé le code, merci de tester comme ceci :
Sub Registrar_Test()
'Dan - Macro modifiée le 30/01/11
Dim derlig As Integer
With Sheets("Factura")
If .Range("D6") = "" Then
MsgBox "Falta el Nombre del Cliente"
.Range("D6").Select
End If
End
If WorksheetFunction.CountIf(.Range("C15:C40"), ">0") <> WorksheetFunction.CountIf(.Range("E15:E40"), ">0") Then
MsgBox "Falta al meno uno Tipo de Venta" & vbCr & "Ver Pagina Venta"
End If
Sheets("Venta").Activate
End
End With
With Sheets("Lista de facturas")
derlig = .Range("A65536").End(xlUp).Row + 1
.Range("A" & derlig) = Sheets("Factura").Range("F7")
.Range("B" & derlig) = Sheets("Factura").Range("F10")
.Range("C" & derlig) = Sheets("Factura").Range("D6")
.Range("D" & derlig) = Sheets("Factura").Range("F41")
.Range("E" & derlig) = Sheets("Factura").Range("F42")
.Range("D" & derlig) = Sheets("Factura").Range("F43")
.Range("H" & derlig).FormulaR1C1 = "=IF(ROUND(RC[-2],2)-RC[-1]=0,"""",ROUND(RC[-2],2)-RC[-1])"
End With
With Sheets("Factura")
.Select
.Range("F7") = Range("F7") + 1
.Range("D6").ClearContents
End With
With Sheets("Venta").Activate
.Range("TABLO").ClearContents
.Range("A2").Select
End With
End SubSi un crash est toujours constaté, il serait bon d'essayer en remplaçant les deux instructions END en début de macro par EXIT SUB.
A noter que les lignes 54 et 55 ne servent plus.
Si ok, n'oublie de cliquer sur le V vert pour cloturer le fil.
Amicalement
J'ai finalement trouvé une solution.
J'ai enregistrer la macro dans le livre de macros personelles.
Maintenant ça marche nickel.
Merci pour l'aide.