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
Partager