Sub Essai_chgt_lien(TextBox1, TextBox2)
compteur = 0
For Each lnk In ActiveSheet.Hyperlinks
If lnk.Type = 1 And InStr(lnk.Address, TextBox1) Then
compteur = compteur + 1
End If
Next
Select Case compteur
Case 0
MsgBox "Aucun lien ne comporte le mot """ & TextBox1 & """"
Exit Sub
Case 1 'pour que le message soit au singulier
If MsgBox("Il y a [ " & compteur & " ] lien hypertexte dans lequel la chaine """ & _
TextBox1 & """ a été trouvé." & vbCrLf & "Voulez-vous la remplacer par """ & TextBox2 & """ ?", _
vbYesNo, "Résultat de la recherche des liens hypertextes :") = vbYes Then
compteur = 0
For Each lnk In ActiveSheet.Hyperlinks
If lnk.Type = 1 And InStr(lnk.Address, TextBox1) Then
lnk.Address = Replace(lnk.Address, TextBox1, TextBox2)
compteur = compteur + 1
End If
Next
MsgBox "Il y a [ " & compteur & " ] lien hypertexte dans lequel la chaine """ & _
TextBox1 & """ a été trouvé puis remplacé par """ & TextBox2 & """.", _
vbOKOnly, "Résultat du remplacement des liens hypertextes :"
End If
Case Else 'pour que compteur > 1 le message soit au pluriel
If MsgBox("Il y a [ " & compteur & " ] liens hypertextes dans lesquels la chaine """ & _
TextBox1 & """ a été trouvé." & vbCrLf & "Voulez-vous la remplacer par """ & TextBox2 & """ ?", _
vbYesNo, "Résultat de la recherche des liens hypertextes :") = vbYes Then
compteur = 0
For Each lnk In ActiveSheet.Hyperlinks
If lnk.Type = 1 And InStr(lnk.Address, TextBox1) Then
lnk.Address = Replace(lnk.Address, TextBox1, TextBox2)
compteur = compteur + 1
End If
Next
MsgBox "Il y a [ " & compteur & " ] liens hypertextes dans lesquels la chaine """ & _
TextBox1 & """ a été trouvé puis remplacé par """ & TextBox2 & """.", _
vbOKOnly, "Résultat du remplacement des liens hypertextes :"
End If
End Select
End Sub
Private Sub CommandButton1_Click()
If TextBox1 = "" Or TextBox2 = "" Then Exit Sub
Essai_chgt_lien TextBox1, TextBox2
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
TextBox1 = ""
TextBox2 = ""
End Sub