IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Hyperlinks.Delete reformate les cellules ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut Hyperlinks.Delete reformate les cellules ?
    Bonjour,
    J'ai une macro qui formate des cellules avant l'envoi des données saisies par des l'utilisateurs. La macro procède notamment à un Hyperlinks.Delete et je m'étais aperçu que ça effaçait au passage la couleur du fond de cellule. J'avais mis ce détail de côté, mais maintenant passé en phase de tests, et ayant verrouillé ma feuille, je m'aperçois que la cellule se verrouille automatiquement à ce pas précis. Je comprends donc qu'une cellule perd tous ses formats lors du Hyperlinks.Delete !????

    Y a-t-il un équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range("F13").Select
        Selection.Hyperlinks.Delete
    qui ne supprime pas les formats, et surtout qui ne me re-verrouille pas la cellule ?

    Qui qui me propose quoi ???
    Rien trouvé sur FAQ ni FORUM, alors je poste...
    Merci d'avance.

    Antipod
    (d'avance, si je converse à contre-temps, normal je suis aux antipodes...)

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,
    essaye donc ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("xxxx").ClearContents

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Attention :

    essaye donc ça
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("xxxx").ClearContents
    Efface le contenu de la cellule, Antipod à le lire voudrait simplement supprimer le lien mais en gardant les données, ce qui est courant, son souci est la perte du format global au passage !

    cordialement,

    Didier

  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    oupssss
    tout a fait juste

    mais dans ce cas, il doit alors récuperer la valeur texte contenue dans la cellule avant d'enlever l'hyperlien pour pouvoir réafficher la valeur par la suite.

    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim s 
     
    s=range("XXX").text
    Range("XXX").ClearContents
    range("XXX")=s

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut
    Bonsoir bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim s 
    s=range("XXX").text
    Range("XXX").ClearContents
    range("XXX")=s
    Ca enlève effectivement le lien hypertexte et conserve tout le reste, entre autres la jolie coloration bleue par défaut des liens hypertexte ainsi que le soulignement...
    Le plus important c'est que le dé-verrouillage de ma cellule subsiste, alors... y'a plus qu'à formater tout ça à mon goût... mais surtout en VBA ! Bah, je vais trouver.

    Merci à tous deux,
    et bonne journée.
    Antipod
    (si je converse à contre-temps, normal je suis aux antipodes...)

  6. #6
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    re,

    on peut toujours envisager de faire comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub deleteHYPER()
     
        Range("C5").Copy
        Range("D6").PasteSpecial xlPasteFormats
        Range("D6").PasteSpecial xlPasteValues
        Range("C5").ClearContents
        Range("D6").Cut Range("C5")
     
    End Sub

  7. #7
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut
    Mêmes effets Mayekeul, coloration et "sous-lignage" qui subsistent... à cause du PasteSpecial xlPasteFormats

    Non non, ton code précédent me convient bien, d'autant qu'il n'implique aucune autre cellule, et j'y ajoute juste un format neutre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Dim s
        s = Range("F6").Text
        Range("F6").Font.Color = 0
        Range("F6").Font.Underline = 1
        Range("F6").ClearContents
        Range("F6") = s
    C'est good !

    Antipod
    (si je converse à contre-temps, normal je suis aux antipodes...)

  8. #8
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    tant mieux alors

    une question cependant.
    Tu es sur quelle version?

    Parce que moi, il ne me garde pas le format standard des hyperlink.

    alors bon... je m'interroge

    sinon, bonne continuation

  9. #9
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut
    Citation Envoyé par mayekeul Voir le message
    une question cependant.
    Tu es sur quelle version?
    Parce que moi, il ne me garde pas le format standard des hyperlink.
    Ben...2000
    Je voudrais pas que ça te tracasse !

    Bonne nuit...
    Antipod
    (si je converse à contre-temps, normal je suis aux antipodes...)

  10. #10
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 569
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 569
    Par défaut
    Bonjour

    La mise en forme des hyperliens est liée au style de cellule lien hypertexte : créé un style identique et applique le quand tu enlèves le lien.

Discussions similaires

  1. [Swing / JTable] Rendre les cellules d'un JTable non éditables
    Par Jérôme_20 dans le forum Composants
    Réponses: 20
    Dernier message: 10/02/2011, 10h32
  2. Elever l'espace entre les cellules
    Par bdaboah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/04/2005, 14h12
  3. Alignement dans les cellules d'un tableau
    Par philippef dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/02/2005, 12h15
  4. [VBA-E] supprimer le contenu de toutes les cellules d'une feuille
    Par BipBip2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/08/2004, 15h13
  5. [CR9] Colorier les cellules d'un tableau croisé
    Par Koko22 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2003, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo