Hyperlien.Delete sur activesheet.cells -> préserver format (txt/nb)

zebanx

XLDnaute Accro
Bonjour au forum.

Pourriez-vous svp m'indiquer un code permettant de conserver un format "centré" quand il y a suppression sur toute la feuille active des hyperliens :
- ceux-ci peuvent être placés n'importe où sur la feuille
- la cellule qui contient l'hyperlien peut être soit en TXT (string), soit en chiffres

J'ai fait quelques recherches mais rien ne convient.
Le code de suppression est on ne peut plus simple mais je ne sais pas comment préserver le format centré car systématiquement, les TXT sont allignés à gauche, les chiffres à droite.
(Et dans le fichier final, les autres cellules non "HYPERLINK" ne sont pas toutes en format centré...)

Vous en remerciant par avance,
zebanx

Code:
Sub EffacerLiens()

With Sheets("TEST").Cells
      .Hyperlinks.Delete
End With
End Sub
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour zebanx,
Code:
Sub EffacerLiens()
Dim t, c As Range
t = Timer
Application.ScreenUpdating = False
With Feuil1
    For Each c In .UsedRange
        If c.Hyperlinks.Count Then
            c.Hyperlinks(1).Delete
            c.HorizontalAlignment = xlCenter
        End If
    Next
End With
MsgBox "Durée " & Format(Timer - t, "0.00 \s")
End Sub
J'ai testé sur 43 000 lignes avec 24 000 liens => 163 secondes chez moi.

J'ai essayé en groupant les cellules par paquets de 100 ou 500 : ce n'est pas plus rapide.

A+
 

zebanx

XLDnaute Accro
Bonjour Job75

Merci pour ce essai.
C'est très long (surtout pour toi :D)

J'ai nettement moins de valeurs à tester, c'est surtout pour une piste d'audit donc je vais quand même bien regarder ton code.
Et puis sinon, on mettra tout en format centré et on rectifiera à la marge sur la présentation.

Ce n'est pas très long. Surpris quand même qu'un delete sur hyperlinks amène à cet effet sur les textes / nombres.

Bonne soirée et.... tu es bien seul en ce moment parmi les historiques (staples 1600, pierre-jean, ...) mais heureusement tu es là (avec Dranreb, Vgendron...).

Zebanx

EDIT :
- moins de 4 secondes sur un premier essai avec ton code . Le tableau n'est peut-être pas complet mais sur 5000 hyperlinks, c'est un résultat satisfaisant (très).
Et tu as une fois de plus, résolu mon problème. Merci !!
 
Dernière édition:

Discussions similaires


Haut Bas