Microsoft 365 vos modifications n'ont pas pu être enregistrées en raison viol de partage fichier différent

rcan7412

XLDnaute Occasionnel
Bonjour, je cherche en vain une solution qui entrave le bon déroulement d'une procédure VBA.
Cette procédure a pour but de copier les données d'un tableau structuré du classeur ouvert vers un tableau structuré d'un autre classeur fermé.
La procédure fonctionne, mais par moment au lieu de copier les données dans le classeur fermé, XL propose d'enregistrer le classeur sous un nom aléatoire du type "529F1000" par exemple.
En faisant des recherches sur internet, il pourrait d'agir de l'antivirus. J'ai refait un essai en désactivant MacAfee. Mais rien n'y fait.
S'il n'y a pas de solution structurelle, comment envisager une autre procédure pour contourner le problème ?
Merci d'avance pour vos lumières

Le code

VB:
Sub CopieBalanceArchives()
'copie de la balance importée d'octopus de l'onglet Balance vers le classeur archives du client

Dim Archives As Workbook 'définit le nom Archive pour le classeur fermé
Dim ArchiveFichier As String ' définit le nom ArchiveFichier comme chaîne de caractère pour le chemin et le nom du classeur fermé

    On Error GoTo gestionErreurs

ArchiveFichier = Range("MSourceArchive").Value 'le chemin et le nom du classeur fermé est stocké dans la plage MSourceArchive du classeur actif
Sheets("Balance").Range("ExportBalance").Copy 'Copie en presse-papier des données (sans titres) du tableau structuré ExportBalance de l'onglet Balance
Set Archives = Workbooks.Open(ArchiveFichier) 'ouvre le classeur fermé
Archives.Activate 'active le classeur fermé

Sheets("Balances").Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'copier-coller du classeur actif vers le classeur fermé (ouvert pour la cause)

Application.CutCopyMode = False 'vide le presse-papier
Archives.Close Savechanges:=True 'ferme le classeur fermé (ouvert pour la cause)

ImportBalances 'procédure d'import des balances du fichier archives

Exit Sub

gestionErreurs:
 MsgBox "Veuillez vérifier que la balance existe dans l'onglet balance"

End Sub
 

rcan7412

XLDnaute Occasionnel
J'ai trouvé ce code-ci sur un autre forum. Cela semble plus stable mais j'arrive quand même à parfois à avoir l'erreur.

VB:
Sub copy()
Dim WbkDest As Workbook
Dim WsDest As Worksheet, WsSource As Worksheet
Dim ArchiveFichier As String ' définit le nom ArchiveFichier comme chaîne de caractère pour le chemin et le nom du classeur fermé
Dim LigDest As Long

    Application.ScreenUpdating = False
    ArchiveFichier = Range("MSourceArchive").Value
    Set WsSource = ThisWorkbook.Sheets("Balance")
    Set WbkDest = Workbooks.Open(ArchiveFichier)
    Set WsDest = WbkDest.Sheets(1)
    LigDest = WsDest.Range("A" & Rows.Count).End(xlUp).Row + 1

    WsSource.Range("ExportBalance").copy
    WsDest.Range("A" & LigDest).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False

    WbkDest.Close True
    Set WsDest = Nothing
    Set WbkDest = Nothing
    Set WsSource = Nothing
    Application.ScreenUpdating = True

End Sub
 

rcan7412

XLDnaute Occasionnel
En fait, je constate que ce problème survient quand je répète 3 fois la procédure dans un court laps de temps. Si je ferme excel et que je le redémarre pas de problème cela fonctionne.

https://support.microsoft.com/fr-dz...-saved-to-filename-because-of-a-sharing-viola

Je dois me résigner à patienter ? Ou à chaque fois redémarrer excel ? Ou partir vers Access pour la sauvegarde des données ?

Bref, je suis un peu désabusé.

Si quelqu'un a une piste, elle est la bienvenue.
 

Statistiques des forums

Discussions
290 902
Messages
1 911 287
Membres
177 117
dernier inscrit
Bicycle74
Haut Bas