Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie de feuilles et liaisons

yvantof

XLDnaute Nouveau
Bonjour le Forum !

N'ayant pas de succès avec le fil "décomposition de formules" (je vais poster un exemple de fichier plus simple sur ce fil), je vous propose un autre problème.

J'ai récupéré un code sympa permettant de sauvegarder une feuille d'un classeur.
Cependant j'ai 3 problèmes.

1/ J'aimerais que le format d'enregistrement contienne aussi des lettres et signes.
Par ex TFC1000/29092007 au lieu de 100029092007
2/ La feuille est copiée dans "mes documents" ce qui ne m'arrange pas !
Je souhaiterai plutot définir un dossier.
3/ La feuille est toujours liée au fichier de départ et je voudrais simplement rompre les liaisons après que la feuille soit copiée;

ci-dessous le code.


Merci pour votre aide !
 

fred65200

XLDnaute Impliqué
Re : Copie de feuilles et liaisons

pour les liaisons sur Xl2007

With ActiveWorkbook
.UpdateRemoteReferences = False
.SaveLinkValues = False
End With
Si tu as une autre version d'excel, avec l'éditeur de macro tu devrais trouver

Pour enregistrer ailleurs que dans mes documents

définie Racine
Racine = "C:\Users\xxxx\Desktop\" ' avec un \ à la fin
ActiveWorkbook.SaveAs Filename:= Racine & Nomfichier & ".xls"

le dernier point je n'ai pas tout saisi

Entree = InputBox("Please select number of formulae : for example N° TFC and date : 1250010108 ", _
"Number of formulae", "N° TFC " & "0123456789")

If Entree Like "N° TFC ##########" Then
Nomfichier = Entree 'Left(Entree, 4) & "_" & Right(Entree, 6)

tiens nous au courant

Salutations
 

yvantof

XLDnaute Nouveau
Re : Copie de feuilles et liaisons

Bonjour FRED65200,

merci pour ton aide qui m'a permis de résoudre les points 1 et 2.

Le code permet de copier une feuille d'un classeur dans un dossier.
Je voudrais que les liens qui unissent la copie de la feuille au classeur de départ sautent.

Lorsque la copie est ouverte, les liens doivent impérativement avoir disparus.
Concernant la rupture de liens, l'éditeur de macro me donne (sous excel 2003):

Sub Macro3()

ActiveWorkbook.BreakLink Name:= _
"Chemin du fichier de départ.xls", _
Type:=xlExcelLinks
End Sub

J'ai essayé d'insérer ce "code" dans le code complet mais cela ne marche pas.
Lorsque j'ouvre la copie, les liens sont toujours là.
Je me trompe quelque part mais où ???

Merci pour tres conseils.
 

pierrejean

XLDnaute Barbatruc
Re : Copie de feuilles et liaisons

bonjour Yvantof

Salut fred

pour une meilleure comprehension peux-tu poster

un fichier source
un fichier avec liaison a detruire

le tout zippé < 48.8k par fichier et sans données confidentielles
 

yvantof

XLDnaute Nouveau
Re : Copie de feuilles et liaisons

Bonjour PierreJean,

ci-joint le fichier vachement élagué !!!
A la base il fait 2.8 MO, contient une dizaine de feuilles de bases de données avec des recherchev partout .

Lorsque tu appuies sur "save formulae" il fait une copie du fichier dans la racine (que tu dois modifier bien sur pour que cela marche chez toi) que j'ai nommée dans la macro.

Je te remercie pour tes lumières

Fred,

je voudrais supprimer les liens et conserver les valeurs .

Yvantof.
 

Pièces jointes

  • LEGISLATION TFC21.zip
    36.5 KB · Affichages: 53
  • LEGISLATION TFC21.zip
    36.5 KB · Affichages: 53
  • LEGISLATION TFC21.zip
    36.5 KB · Affichages: 55

fred65200

XLDnaute Impliqué
Re : Copie de feuilles et liaisons

Grâce à toi j'ai découvert que FileSearch n'était plus reconnu dans Excel 2007 - Merci

Les liaisons viennent des noms de ta feuilles

Supprime les si tu n'en as plus besoin
Code:
For Each Nom In Activeworkbook.Names
  Nom.Delete
Next

NB
tu peux aussi inscrire en haut de ton module dans les déclarations

Public Const Racine As String = "C:\Documents and Settings\xxxxx\Bureau\TESTS TFC\" ' avec un \ à la fin

C'est plus simple lorsqu'il faut modifier le chemin.

Si tu as plusieurs Variables n'hésite pas à créer un module modVariables et y déclarer toutes tes constantes dedans.

@+
 

yvantof

XLDnaute Nouveau
Re : Copie de feuilles et liaisons

Le nom de la copie de feuille est important et doit impérativement être conservé.
C'est seulement les liens que je veux faire sauter soit pendant soit après la copie.
 

fred65200

XLDnaute Impliqué
Re : Copie de feuilles et liaisons

après

Code:
ActiveSheet.Copy
For Each obj In ActiveSheet.Shapes
obj.Delete
Next

tu insères

Code:
For Each Nom In Activeworkbook.Names
  Nom.Delete
Next


ensuite, tu as

Code:
ActiveWorkbook.SaveAs Filename:=Nomfichier & ".xls"


ça doit fonctionner

@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…