Macro Enregistrer Sous en supprimant les liaisons

Résolu/Fermé
JenSou798312 Messages postés 57 Date d'inscription mardi 30 mai 2017 Statut Membre Dernière intervention 3 mars 2018 - 30 mai 2017 à 17:40
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 3 mars 2018 à 13:11
Bonjour,

Je souhaiterais pouvoir faire une macro me permettant d'enregistrer sous le document en ne conservant que les valeurs (en supprimant les liaisons).
Voici le code que j'ai travaillé…

Sub Enregistrer()
Dim Chemin As String
Dim nomfichier As String

Chemin = ThisWorkbook.Path
'Changer pour "C:\Documents and Settings\te\My Documents\" (par exemple si on veut un autre chemin que le répertoire en cours)
nomfichier = Chemin & "CRID_" & ActiveSheet.Range("Y34") & "_" & Range("F31") & ".xlsx"

ActiveSheets.Values
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Cells.Validation.Delete
ActiveWorkbook.SaveAs Filename:=nomfichier

End Sub
A voir également:

3 réponses

JenSou798312 Messages postés 57 Date d'inscription mardi 30 mai 2017 Statut Membre Dernière intervention 3 mars 2018
31 mai 2017 à 11:00
Re bonjour,
J'ai travaillé sur mon code mais j'ai toujours des erreurs.
Est ce que ce code serait plus approprié?

Sub test()
Dim Sh As Worksheet
Dim NomFichier As String

'Le nom du nouveau fichier
NomFichier = "CRID_" & ActiveSheet.Range("Y34") & "_" & Range("F31") & " .xlsx"

With ThisWorkbook
For Each Sh In ThisWorkbook.Worksheets
With Sh
With .UsedRange
.Value = .Value
End With
End With
Next
End With
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & NomFichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

J'ai quand même toujours une erreur d'enregistrement.
merci pour votre aide
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
31 mai 2017 à 20:22
Bonjour,

J'ai quand même toujours une erreur d'enregistrement.
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & NomFichier

Manque un antislash "\" dans ""

et
J'ai travaillé sur mon code mais j'ai toujours des erreurs.
Petite explication svp
0
JenSou798312
1 juin 2017 à 00:38
Merci pour votre réponse
J'ai essayé de mettre "\" mais ça ne fonctionne pas.
Je suis sous Mac... est ce que ça peut être lié?

Pour les autres soucis, soit ça enregistre (pas dans le bon fichier) en .xlsx mais j'ai tjs ma macro et les liaisons du coup je ne peux pas l'ouvrir, soit ca ne fait rien du tout.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
1 juin 2017 à 07:44
Bonjour,

Je suis sous Mac... est ce que ça peut être lié?
C'est ce que nous attendions comme info.
Le separateur de repertoire ou fichier sur mac est ":" pas "\".

mais j'ai tjs ma macro et les liaisons
Les liasions avec quoi?
0
JenSou798312 Messages postés 57 Date d'inscription mardi 30 mai 2017 Statut Membre Dernière intervention 3 mars 2018 > f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024
1 juin 2017 à 08:47
Bonjour,
Mes liaisons se font entre deux fichiers .xlsm :
- "Fiche CRID.xlsm" (là où est ma fameuse macro impossible à exécuter)
- "PROGRAMME DPCI 2017.xlsm.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > JenSou798312 Messages postés 57 Date d'inscription mardi 30 mai 2017 Statut Membre Dernière intervention 3 mars 2018
1 juin 2017 à 09:09
Re,
Vous pouvez mettre a dispo sans donnees confidentielles le fichier que vous voulez enregistrer sans les liaisons, sera plus facile de vous aider

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

ou
'mon partage
https://mon-partage.fr/
0
JenSou798312 Messages postés 57 Date d'inscription mardi 30 mai 2017 Statut Membre Dernière intervention 3 mars 2018 > f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024
1 juin 2017 à 09:09
J'ai modifié mon code:

Sub SaveAs()
'Macro par Jennifer
Dim Chemin As String
Dim Nomfichier As String
Dim VBComp As Object
Dim VBComps As Object

'Nom nouveau fichier
Nomfichier = "CRID_" & ActiveSheet.Range("Y34") & "_" & Range("F31") & ".xlsx"
'Chemin nouveau fichier
Chemin = "HDD:Utilisateurs:Jennifer:Bureau"

Set VBComps = ActiveWorkbook.VBProject.VBComponents

For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp

ActiveWorkbook.SaveAs Filename:=Chemin & Nomfichier
End Sub

Mais ça ne fonctionne toujours pas… Je désespère…

Message d'erreur: Erreur d'exécution « 1004 »:

Vous ne disposez pas d'autorisation pour enregistrer les fichiers dans cet emplacement.Vérifiez que vous disposez d'un accès en écriture à cet emplacement ou sélectionnez un autre emplacement
0
JenSou798312 Messages postés 57 Date d'inscription mardi 30 mai 2017 Statut Membre Dernière intervention 3 mars 2018 > f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024
1 juin 2017 à 09:18
Le fichier à copier sans macro et sans liaison: https://www.cjoint.com/c/GFbhmsNPgnZ
Le fichier Source http://www.cjoint.com/c/GFbhrQPjwiZ
0