1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

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

Discussion dans 'Forum Excel' démarrée par zebanx, 11 Octobre 2018.

  1. zebanx

    zebanx XLDnaute Impliqué

    Inscrit depuis le :
    2 Août 2006
    Messages :
    797
    "J'aime" reçus :
    101
    Utilise:
    Excel 2003 (PC)
    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 (Text):
    Sub EffacerLiens()

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

    Pièces jointes:

  2. Chargement...

    Discussions similaires - Hyperlien Delete sur Forum Date
    XL 2016 Sommaire hyperliens avec uniquement les onglets visibles Forum Excel 12 Octobre 2018
    Création d'un hyperlien Forum Excel 5 Avril 2018
    XL 2016 Hyperlien Forum Excel 15 Mars 2018
    Macro hyperlien vers Outlook Forum Excel 14 Mars 2018
    XL 2016 Problème d'ouverture d'hyperlien via macro Forum Excel 13 Novembre 2017

  3. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    25330
    "J'aime" reçus :
    2090
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonjour zebanx,
    Code (Text):
    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 aime votre message.
  4. zebanx

    zebanx XLDnaute Impliqué

    Inscrit depuis le :
    2 Août 2006
    Messages :
    797
    "J'aime" reçus :
    101
    Utilise:
    Excel 2003 (PC)
    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: 11 Octobre 2018

Partager cette page