Supprimer les liens hypertextes dans une feuille de calcul, Excel VBA

Supprimer les liens hypertextes dans une feuille de calcul, Excel VBA

Voici un code VBA détaillé pour supprimer les liens hypertextes dans une feuille de calcul Excel, avec des explications complètes.
Objectif :
Nous allons écrire un code VBA pour supprimer tous les liens hypertextes d’une feuille de calcul (ou d’une plage spécifique) dans Excel. Les liens hypertextes sont souvent utilisés dans les cellules d’Excel, mais dans certains cas, vous pouvez souhaiter les supprimer sans affecter le contenu de la cellule.
Concepts Impliqués :
1. Les liens hypertextes dans Excel :

  • Un lien hypertexte est une référence vers une page Web ou une adresse dans Excel. Les liens hypertextes peuvent être insérés via le ruban ou le VBA, et ils permettent aux utilisateurs de cliquer sur la cellule pour naviguer vers une URL spécifique ou une autre feuille.
  • Lorsque vous supprimez un lien hypertexte, Excel supprimera le lien, mais laissera intact le contenu de la cellule (texte, nombre, etc.).

2. Structure du code VBA :

  • ActiveSheet : Référence à la feuille active (celle qui est sélectionnée dans le classeur).
  • Collection des Hyperlinks : Chaque feuille Excel dispose d’une collection de liens hypertextes. La propriété Hyperlinks permet d’accéder à cette collection.
  • Méthode Delete : Cette méthode est utilisée pour supprimer le lien hypertexte d’une cellule.

Le Code :
Voici le code VBA pour supprimer tous les liens hypertextes de la feuille active :

Sub SupprimerTousLesHyperliens()
    ' Déclare une variable pour référencer la feuille
    Dim ws As Worksheet
    ' Définit la feuille active comme cible
    Set ws = ActiveSheet
    ' Vérifie s'il y a des liens hypertextes dans la feuille
    If ws.Hyperlinks.Count > 0 Then
        ' Supprime tous les liens hypertextes de la feuille
        ws.Hyperlinks.Delete
        ' Affiche un message à l'utilisateur
        MsgBox "Tous les liens hypertextes ont été supprimés.", vbInformation
    Else
        ' Si aucun lien hypertexte n'est trouvé
        MsgBox "Aucun lien hypertexte trouvé dans cette feuille.", vbExclamation
    End If
End Sub

Explication du Code :
1. Sub SupprimerTousLesHyperliens() :
Il s’agit du début de la macro. C’est le nom de la procédure qui exécutera le processus de suppression des liens hypertextes.

2. Dim ws As Worksheet :
Cette ligne déclare une variable ws qui va contenir la référence à la feuille sur laquelle nous allons supprimer les liens hypertextes. Cela rend le code plus flexible si vous souhaitez cibler une autre feuille spécifiquement.

3. Set ws = ActiveSheet :
Cette ligne affecte la feuille actuellement active (celle qui est sélectionnée lorsque vous exécutez la macro) à la variable ws. Vous pouvez remplacer ActiveSheet par un nom spécifique de feuille (par exemple, Sheets(« Feuille1 »)) si vous souhaitez cibler une feuille particulière.

4. If ws.Hyperlinks.Count > 0 Then :
Cette condition vérifie s’il existe des liens hypertextes dans la feuille active. La propriété Hyperlinks.Count retourne le nombre de liens hypertextes dans la feuille. Si le nombre est supérieur à zéro, le code supprime les liens.

5. ws.Hyperlinks.Delete :
Cette ligne supprime tous les liens hypertextes présents sur la feuille active. La méthode Delete de la collection Hyperlinks supprime chaque lien hypertexte de la feuille.

6. MsgBox « Tous les liens hypertextes ont été supprimés. », vbInformation :
Après la suppression des liens, un message s’affiche pour informer l’utilisateur que l’opération a été réalisée avec succès. Le paramètre vbInformation affiche une icône d’information dans la boîte de message.

7. Bloc Else :
Si aucun lien hypertexte n’est trouvé (ws.Hyperlinks.Count est égal à 0), le code entre dans le bloc Else et affiche un message indiquant qu’aucun lien hypertexte n’a été trouvé.

8. MsgBox « Aucun lien hypertexte trouvé dans cette feuille. », vbExclamation :
Si aucun lien n’est trouvé, un message d’avertissement s’affiche avec l’icône vbExclamation, informant l’utilisateur qu’il n’y a pas de liens sur la feuille.

9. Fin de la Sub :
La ligne End Sub marque la fin de la procédure.

Comment Utiliser Ce Code :
1. Ouvrir Excel :
Ouvrez votre classeur Excel.

2. Accéder à l’Éditeur VBA :

  • Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.

3. Insérer un Module :

  • Dans l’éditeur VBA, cliquez sur Insertion dans le menu du haut, puis choisissez Module.
  • Cela insérera un module vierge dans lequel vous pouvez coller le code.

4. Coller le Code :

  • Copiez le code VBA ci-dessus et collez-le dans le module vide.

5. Exécuter le Code :

  • Appuyez sur F5 (ou cliquez sur Exécuter dans la barre d’outils) pour exécuter la macro.
  • Le code supprimera tous les liens hypertextes de la feuille active et affichera un message confirmant l’action.

Supprimer les Hyperliens d’une Plage Spécifique :
Si vous souhaitez supprimer les liens hypertextes uniquement d’une plage spécifique de cellules, vous pouvez modifier le code pour cibler cette plage. Par exemple :

Sub SupprimerHyperliensPlage()
    ' Déclare les variables pour la feuille et la plage
    Dim ws As Worksheet
    Dim rng As Range
    ' Définit la feuille active comme cible
    Set ws = ActiveSheet
    ' Définit la plage (par exemple, A1 à D10)
    Set rng = ws.Range("A1:D10")
    ' Supprime les liens hypertextes dans la plage spécifiée
    rng.Hyperlinks.Delete
    ' Affiche un message à l'utilisateur
    MsgBox "Les liens hypertextes de la plage spécifiée ont été supprimés.", vbInformation
End Sub

Conclusion :
Ce code VBA permet de supprimer tous les liens hypertextes d’une feuille (ou d’une plage spécifique) sans affecter le contenu des cellules. Il est simple et efficace pour nettoyer vos feuilles de calcul Excel en supprimant les liens indésirables.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x