Bonjour cher ami développeur,
Je viens vers vous pour un problème relatif à excel je m'explique.
J'ai créé une macro me permettant de déplacer un onglet excel dans un autre classeur lorsque l'utilisateur clique sur un bouton.
Mon problème est que lors de l'activation de cette macro, il arrive qu'excel plante (on va dire une fois sur deux) et affiche le message
"excel a cessé de fonctionner". il cherche alors une solution puis me répare le fichier mais je souhaiterais que cela ne se produise plus et je ne sais pas du tout comment m'y prendre.
Pouvez vous m'éclairer ?
Si besoin voici le code que j'ai rédigé
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 Sub archivage() Application.ScreenUpdating = False Application.CutCopyMode = False 'si l'utilisateur confirme vouloir archiver l'affaire If MsgBox("Etes-vous certain de vouloir archiver cette affaire ?", vbYesNo, "Demande de confirmation") = vbYes Then 'on ouvre le fichier archive Set archive = Application.Workbooks.Open("F:\Pôles études\Cellule MDP\LDR\test automatisation de la VA\archive DDB.xlsm") 'on vient déplacer l'onglet juste avant l'onglet compiler ThisWorkbook.ActiveSheet.Move Before:=archive.Sheets("Compiler Va") 'on inscrit T dans la cellule G109 puis on remplace les données présentes par leur valeur (disparition des formules) ActiveSheet.Cells(109, 7) = "T" Range("A1:NO150").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'on referme le fichier archive archive.Close True 'Ferme en sauvant. MsgBox ("Projet archivé") End If Application.CutCopyMode = True Application.ScreenUpdating = True End Sub
Partager