Excel plante...

Résolu/Fermé
Matt_r Messages postés 11 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 27 février 2014 - 26 févr. 2014 à 23:28
Matt_r Messages postés 11 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 27 février 2014 - 27 févr. 2014 à 22:10
Bonjour à toutes et à tous,

J'ai, pour mon travail, un fichier excel "strNomNouveauClasseur" (qui contient la macro) et dans lequel je dois importer des données qui se trouvent dans un autre fichier "strNomAncienClasseur". La macro fonctionne nickel, je peux ensuite continuer de travailler sans aucun souci sur mon classeur, mais dès que j'essaie de le sauvegarder, Excel plante.

Comme la macro marchait parfaitement, un débogage simple n'avait aucun intérêt. J'ai donc tenté d'insérer une fonction de sauvegarde de plus en plus loin dans mon code afin de voir quelle étape faisait planter Excel. Voici l'étape où ça plante :


Sub Importer_ancien_classeur()
' Permet d'importer les données

MsgBox "L'importation va commencer, veuillez patienter pendant que votre ordinateur fait le travail", vbOKOnly, "Début de l'importation"

Dim strNomAncienClasseur As String, strNomNouveauClasseur As String
strNomAncienClasseur = Worksheets("importation").Range("n14")
strNomNouveauClasseur = ActiveWorkbook.Name

' Ouvrir l'ancien classeur
Workbooks.Open (ThisWorkbook.Path & "\" & strNomAncienClasseur)

' Supprimer les feuilles dans le nouveau classeur
With Workbooks(strNomNouveauClasseur)
Application.DisplayAlerts = False
.Worksheets("database").Delete
Application.DisplayAlerts = True
End With

' Importer les feuilles de l'ancien classeur
Workbooks(strNomAncienClasseur).Worksheets("database").Copy after:= _
Workbooks(strNomNouveauClasseur).Sheets(1)

' --------------------------------------------------
' Sauvegarde test
Application.DisplayAlerts = False
Workbooks(strNomNouveauClasseur).Save
Application.DisplayAlerts = True
' --------------------------------------------------


A mon (humble) avis, ça serait donc la copie de la feuille de l'ancien vers le nouveau classeur.

Si par miracle / hasard l'un(e) d'entre vous a la réponse, ou au moins une idée, je suis preneur avec grand bonheur :D

Cheers !


A voir également:

2 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 27/02/2014 à 10:32
Bonjour,

Juste une précision lorsque ça plante, le debug se positionne sur la ligne :
Workbooks(strNomAncienClasseur).Worksheets("database").Copy ...
ou sur la ligne :
Workbooks(strNomNouveauClasseur).Save

et quel est le message d'erreur ?

Cordialement,
0
Matt_r Messages postés 11 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 27 février 2014
27 févr. 2014 à 10:41
Lorsque ça plante, le débug est sur la ligne
Workbooks(strNomNouveauClasseur).Save

En gros, j'ai voulu voir quelle étape du code faisait planter Excel au moment de la sauvegarde, en insérant comme ça des lignes de sauvegarde dans mon code. Et il est apparu que c'est à partir de l'étape
Workbooks(strNomAncienClasseur).Worksheets("database").Copy ...
que le processus de sauvegarde fait bugger Excel.
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
27 févr. 2014 à 10:54
d'accord. Et quel est le message d'erreur ?
0
Matt_r Messages postés 11 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 27 février 2014
27 févr. 2014 à 11:01
Ni plus ni moins que ceci...

http://hpics.li/161dc3c

A votre avis, qu'est ce qui ferait que la sauvegarde échoue juste après avoir copié une feuille d'un classeur vers un autre ?
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
27 févr. 2014 à 11:27
Est-ce que la sauvegarde fonctionne avant la copie ?
Car dans ce cas il faut chercher dans l'onglet "database" si il n'y a pas des données très volumineuses par exemple.
Sinon il faut utiliser le support Microsoft car il peut y avoir beaucoup de causes.
Par exemple identifiée ici (si c'est Excel 2010):
https://support.microsoft.com/en-us/office/excel-not-responding-hangs-freezes-or-stops-working-37e7d3c9-9e84-40bf-a805-4ca6853a1ff4?ui=en-US&rs=en-001&ad=US
0
Matt_r Messages postés 11 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 27 février 2014
27 févr. 2014 à 11:33
Oui la sauvegarde fonctionne parfaitement avant la copie...

La feuille "database" contient potentiellement des données très volumineuses, mais je fais mes tests avec quelques cellules remplies, même pas une dizaine.

En tout cas, merci pour ton coup de main :) Si jamais je trouve la solution, je viendrai clore le sujet.
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
27 févr. 2014 à 11:42
Tu peux essayer du coté des compléments.
Dans fichier> option > compléments dans les complément COM tu peux essayer de les désactiver décocher le "send to Bluetooth " par exemple
Autre idée dans
Fichier > Options > Options avancées aller dans "Général" et décocher la case
"Ignorer les autres applications qui utilisent l'échange dynamique de données"
0