Problème macro VBA "Excel a cessé de fonctionner"
:P Bonjour à tous,
Je suis débutante en programmation VBA et je suis bloquée sur une macro qui fonctionne mais qui de temps en temps plante excel avec des messages du genre "Excel a cessé de fonctionner..." !
L'objectif de ma macro est le suivant :
- je saisis des infos sur un tableau de suivi,
- je clique ensuite sur un bouton "Préparation Facture" qui m'ouvre un user Form
- je remplis les champs nécessaires et en cliquant sur OK, les infos du userform et quelques infos de mon tableau de suivi sont copiés sur un onglet "Facture" (tjs dans le même fichier)
- cet onglet "Facture" est ensuite déplacé dans un fichier créé par la macro et qui portera le nom d'une variable (N.B. : le fichier est dans un autre répertoire)
Comme indiqué plus haut, cette macro marche bien , mais parfois bug ! soit Excel est planté, soit quand je clique sur le bouton de préparation facture, il me dit "Erreur d'exécution 75 ; l'objet est introuvable", alors que 2 minutes avant (lors de la préparation d'une autre facture) il n'y avait aucun problème.
Ne maitrisant pas la gestion d'erreur, je suis perdue, et je ne comprends pas ces erreurs aléatoires.
Pourriez-vous m'aider ?
Voici le bout de code lorsque je clique sur OK de mon userform.
Je vous remercie par avance pour votre aide précieuse, et vous prie de me pardonner si le code n'est pas écrit dans les règles de l'art... j'apprends doucement !:oops:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
Sub CMBOK_Click()
Dim RepertoireFacture As String
RepertoireFacture = "C:\Users\POSTE-01\Documents\CONTROLE&MAITRISE\FACTURES\pre_facturation\CM"
Range("A1").Select
ActiveCell.Value = CMBChoixClient
ActiveCell.Font.ColorIndex = 2
Range("A17").Select
ActiveCell.Value = "BON DE COMMANDE N° " & TXTNumCde
Range("A19").Select
ActiveCell.Value = UCase(TXTObjetInter)
Range("A23").Select
ActiveCell.Value = "Détails de l'intervention du " & TXTDateInter
Range("B36").Select
ActiveCell.Value = CDec(CMBTVA)
'copier l'en-tête pour supprimer la formule RECHERCHEV
Range("J1:J4").Select
Selection.Copy
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("J1:J4").ClearContents
Range("A1").Select
'Sheets("FACTURE").Select
Sheets("FACTURE").Move
ActiveWorkbook.SaveAs Filename:=RepertoireFacture & TXTRefCM
ActiveWorkbook.Activate
UFPrepaFacture.Hide
Unload UFPrepaFacture |