Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - Comment rompre les liaisons

4 réponses
Avatar
Alex St-Pierre
Bonjour,
Existe-t-il une façon de briser les liaisons qui existe avec tous les autres
classeurs?
Merci !
Alex
--
Alex St-Pierre

4 réponses

Avatar
Daniel
Bonjour.
Sub Liens()
tablo = ActiveWorkbook.LinkSources(xlExcelLinks)
For i = 1 To UBound(tablo)
ActiveWorkbook.BreakLink Name:=tablo(i), _
Type:=xlExcelLinks
Next i
End Sub
A exécuter suivant le type de liaison (voior aide VBA sur LinkSources)
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour,
Existe-t-il une façon de briser les liaisons qui existe avec tous les
autres
classeurs?
Merci !
Alex
--
Alex St-Pierre


Avatar
Croy
Bonjour Alex,

Edition/Liaison/ - sélectionner la(les) liaisons puis /Rompre la
liaison

Tchô - Croy
Avatar
Alex St-Pierre
Ça fonctionne bien mais il y a 1 lien sur les 3 qui provoque un erreur fatale
d'excel (entraine la fermeture). Je comprends pas pourquoi. Le message
d'erreur est:
->Erreur d'exécution '-214747848 (80010108)':
->Erreur Automation
->L'objet invoqué s'est déconnecté de ses clients.
Le liens en question: "D:Documents and SettingsastpierreBureauCopie (2)
de MODEL_REPORT_MACRO_FINAL.xls" ->trop long?

Structure:
Sub DeplacerFeuilleAvecBrisDesLiens()
Dim vTemp2
ReDim vTemp2(1 To 2)
For i = 1 To 2
vTemp2(i) = Sheets(i).Name
Next i
sNom = ActiveWorkBook.Name
ActiveWorkBook.Sheets(vTemp2).Select
ActiveWorkBook.Sheets(vTemp2).Copy

tablo = ActiveWorkbook.LinkSources(xlExcelLinks)
On Error Resume Next
For i = 1 To UBound(tablo)
ActiveWorkbook.BreakLink Name:=tablo(i), Type:=xlExcelLinks
'il y a un erreur pour un lien seulement lorsque i = 1, Si i = 2 To 3, tout
fonctionne bien. Si je met on error resume next avant l'erreur, ça ne change
rien=> Excel se ferme.
Next i
On Error GoTo 0
End If
ActiveWorkbook.Sheets(vTemp2).Select
ActiveWorkbook.Sheets(vTemp2).Move After:=Workbooks(sNom).Sheets(1)
End Sub
--
Alex St-Pierre



Bonjour.
Sub Liens()
tablo = ActiveWorkbook.LinkSources(xlExcelLinks)
For i = 1 To UBound(tablo)
ActiveWorkbook.BreakLink Name:=tablo(i), _
Type:=xlExcelLinks
Next i
End Sub
A exécuter suivant le type de liaison (voior aide VBA sur LinkSources)
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour,
Existe-t-il une façon de briser les liaisons qui existe avec tous les
autres
classeurs?
Merci !
Alex
--
Alex St-Pierre







Avatar
Daniel
Au temps pour moi. Essaie :
For i = 0 To UBound(tablo)
au lieu de :
For i = 1 To UBound(tablo)
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Ça fonctionne bien mais il y a 1 lien sur les 3 qui provoque un erreur
fatale
d'excel (entraine la fermeture). Je comprends pas pourquoi. Le message
d'erreur est:
->Erreur d'exécution '-214747848 (80010108)':
->Erreur Automation
->L'objet invoqué s'est déconnecté de ses clients.
Le liens en question: "D:Documents and SettingsastpierreBureauCopie
(2)
de MODEL_REPORT_MACRO_FINAL.xls" ->trop long?

Structure:
Sub DeplacerFeuilleAvecBrisDesLiens()
Dim vTemp2
ReDim vTemp2(1 To 2)
For i = 1 To 2
vTemp2(i) = Sheets(i).Name
Next i
sNom = ActiveWorkBook.Name
ActiveWorkBook.Sheets(vTemp2).Select
ActiveWorkBook.Sheets(vTemp2).Copy

tablo = ActiveWorkbook.LinkSources(xlExcelLinks)
On Error Resume Next
For i = 1 To UBound(tablo)
ActiveWorkbook.BreakLink Name:=tablo(i), Type:=xlExcelLinks
'il y a un erreur pour un lien seulement lorsque i = 1, Si i = 2 To 3,
tout
fonctionne bien. Si je met on error resume next avant l'erreur, ça ne
change
rien=> Excel se ferme.
Next i
On Error GoTo 0
End If
ActiveWorkbook.Sheets(vTemp2).Select
ActiveWorkbook.Sheets(vTemp2).Move After:=Workbooks(sNom).Sheets(1)
End Sub
--
Alex St-Pierre



Bonjour.
Sub Liens()
tablo = ActiveWorkbook.LinkSources(xlExcelLinks)
For i = 1 To UBound(tablo)
ActiveWorkbook.BreakLink Name:=tablo(i), _
Type:=xlExcelLinks
Next i
End Sub
A exécuter suivant le type de liaison (voior aide VBA sur LinkSources)
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour,
Existe-t-il une façon de briser les liaisons qui existe avec tous les
autres
classeurs?
Merci !
Alex
--
Alex St-Pierre