Macro VBA BreakLinks - Suppression Liens

a3lain

XLDnaute Junior
Bonjour , je voudrais creer un bouton qui permette à l'utilisateur de supprimer tous les liens existants avec les autres classeurs ou seulement le sleins qu'il selectionne dans une userform que j'ai créée. (Voir le code VBA de mon excel attaché avec les commentaires de ce que j'aimerais faire)

NB: Dans le programme ou je veux implementer ce bouton, l'utilisateur n'a pas les droits d'accès au menu Edit Links

J'ai commencé à écrire le code et le Userform mais je suis débutant et bloque un peu.

Merci de l'aide des pro du forum.
 

Pièces jointes

  • Test BreakLink v2.xls
    28 KB · Affichages: 96

a3lain

XLDnaute Junior
Re : Macro VBA BreakLinks - Suppression Liens

Bonsoir,

Personne n' a une petite idée pour avancer mon "chlimblick"
ou j'ai mal expliqué peut être.

NB : pour info , j'ai essayé findlink.xla mais cela ne me convient pas. Je pourrais m'inspirer de celui ci pour une partie mais le code n'est pas visible, donc cela ne m'aide pas.

Si quelqu'un a des bouts d'idées pour que j'avance pas à pas, n'hésitez pas.
Merci
 

jp14

XLDnaute Barbatruc
Re : Macro VBA BreakLinks - Suppression Liens

Bonjour
Ci dessous un code à tester
Code:
Private Sub CommandButton2_Click()
With ListBox1
If .ListIndex = -1 Then Exit Sub
i = .List(.ListIndex, 1)
ActiveWorkbook.BreakLink Name:=.List(.ListIndex, 2), Type:=xlExcelLinks
 End With
 UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
With ListBox1
.Clear
.ColumnCount = 3
.ColumnWidths = "50;0;0"
If Not IsEmpty(aLinks) Then
    For i = 2 To UBound(aLinks)
                .AddItem "Link  " & i & "  :  " & aLinks(i)
                .List(.ListCount - 1, 1) = i
                .List(.ListCount - 1, .ColumnCount - 1) = aLinks(i)
    Next i
End If
End With
End Sub

JP
 

a3lain

XLDnaute Junior
Re : Macro VBA BreakLinks - Suppression Liens

Bonjour
Ci dessous un code à tester
Code:
Private Sub CommandButton2_Click()
With ListBox1
If .ListIndex = -1 Then Exit Sub
i = .List(.ListIndex, 1)
ActiveWorkbook.BreakLink Name:=.List(.ListIndex, 2), Type:=xlExcelLinks
 End With
 UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
With ListBox1
.Clear
.ColumnCount = 3
.ColumnWidths = "50;0;0"
If Not IsEmpty(aLinks) Then
    For i = 2 To UBound(aLinks)
                .AddItem "Link  " & i & "  :  " & aLinks(i)
                .List(.ListCount - 1, 1) = i
                .List(.ListCount - 1, .ColumnCount - 1) = aLinks(i)
    Next i
End If
End With
End Sub

JP


Bonsoir et merci, je vais essayer de tester ceci demain, sinon ce sera dans 8 jours au retour de congés.
Je tiendrais informé du resultat.
 

a3lain

XLDnaute Junior
Re : Macro VBA BreakLinks - Suppression Liens

Bonjour,

J'ai fait des tests avec mon fichier en mettant en commentaire mes anciennes lignes de code pour y mettre celles ci ci dessus, mais je dois être un peu nul car cela ne fonctionne pas correctement. En plus, lorsque je fais du pas à pas , j'ai même un message d'erreur de compilation.

Il va falloir que je prenne cela à tête reposée, à moins que ton code etait purement generique et que je devais l'adapter aux noms des procedures de mon propre classeur?

C'est pas gagné pour moi. courage, l'apprentissage est dur
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz