Aide Remplacer les liaisons par les Valeurs

Bonjour ,

J'ai un petit problème j'ai créer une macro pour copier une facture (qui comporte des liaisons) et je la copie dans un nouveau fichier au nom du client et n° facture tout ceci fonctionne très bien par contre les liaisons sont copiés :p et mes nouveaux fichier ainsi créer se modifie automatiquement quand les liaisons changent.

existe t'il une macro permettant de remplacer toutes les liaisons d'une feuille par leur valeur

Merci d'avance

Bonjour,

Je crois, si je ne m'abuse que ta réponse est déjà sur le forum.

Regardes "Copier coller les valeurs par défaut"

Bon courage,

Bonjour

Bonjour Jerimie44

A adapter à ton cas

Option Explicit

Sub test()
Dim WbkA As Workbook
Dim Alinks
Dim I As Integer

  ' Assigne à WbkA le fichier dans lequel tu veux supprimer les liens
  Set WbkA = ThisWorkbook

  Alinks = WbkA.LinkSources
  If Not IsEmpty(Alinks) Then
    For I = 1 To UBound(Alinks)
      MsgBox "Link " & I & ":" & Chr(13) & Alinks(I)
      WbkA.BreakLink Name:=Alinks(I), Type:=xlLinkTypeExcelLinks
    Next I
  End If

End Sub

parfait ça fonctionne mais quand je l'utilise seul mais quand je l'intègre a ma macro de copie ça garde toujours les liaisons:p

ub Onglet()
Sheets("facture").Select
Dim Nomfichier As String

'on déprotège la feuille sur laquelle on travaille (c'est à dire Facture

ActiveSheet.Unprotect Password:="******"

'on définit ce que sera Nomfichier
Nomfichier = Sheets("facture").Range("D9") & Sheets("facture").Range("C15")

'on copie la feuille active donc Facture
ActiveSheet.Copy

'rompre les liaisons test
Dim WbkA As Workbook
Dim Alinks
Dim I As Integer

  ' Assigne à WbkA le fichier dans lequel tu veux supprimer les liens
 Set WbkA = ThisWorkbook

  Alinks = WbkA.LinkSources
  If Not IsEmpty(Alinks) Then
    For I = 1 To UBound(Alinks)
      MsgBox "Link " & I & ":" & Chr(13) & Alinks(I)
      WbkA.BreakLink Name:=Alinks(I), Type:=xlLinkTypeExcelLinks
    Next I
  End If

'on définit le nom du futur fichier et son extension en tant que fichier xls

 ActiveWorkbook.SaveAs Filename:=Nomfichier & ".xls"
    ActiveSheet.Name = Nomfichier

  'là un petit message pour faire joli et indiquer que la sauvegarde a bien été exécutée
    msg = "Votre Facture a été sauvegardée sous le nom et n° que vous lui avez donné."
    Title = "Sauvegarde de la facture actuelle"
    Style = vbOKOnly + vbInformation
    Reponse = MsgBox(msg, Style, Title)

    ActiveSheet.Protect
    ActiveWorkbook.Close (False)

 'sur le fichier d'origine on incréments le numéro de facture
    Range("facture!C15") = Range("facture!C15") + 1

'on reprotège la feuille
ActiveSheet.Protect Password:="******"
Sheets("données").Select
ThisWorkbook.Close SaveChanges:=True

End Sub

Bonjour

Remplaces

Set WbkA = ThisWorkbook

par

Set WbkA = ActiveWorkbook

Super merci banzaï t un chef c ma belle soeur qui va être contente

Rechercher des sujets similaires à "aide remplacer liaisons valeurs"