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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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