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 !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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