Disparition de lien hypertexte

Résolu
moufine34 Messages postés 4 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 28 janvier 2009 - 28 janv. 2009 à 18:27
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 29 janv. 2009 à 00:27
Moufine...
Bonjour a tous, je rencontre un problème avec une macro, n'étant pas très fort en VBA je viens demander de l'aide:
j'ai un lien hypertexte dans la cellule A1 de la feuille 1
grace a une macro (Worksheets (2).Cells(lignevide, 1).Value = Worksheets(1).Cells(1 . 1).Value) je récupère des données de cette feuille que j'incrémente dans un tableau de la feuille 2

je copie bien le lien mais comme du texte et non comme un lien hypertexte.
j'ai essayé beaucoup de chose mais je n'arrive à rien!!

merci d'avance à ceux qui pourront m'aider

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2009 à 19:00
Salut
C'est normal puisque tu recopies la Value.
Un lien hypertexte n'est qu'un format d'affichage.
Pour recopier un lien, il faut faire un vrai copier-coller :
Exemple reccueilli en enregistrant une macro pendant que je copiais à la main la cellule (valeur et format)
    Sheets("Feuil1").Select
    Range("A1").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("A1").Select
    ActiveSheet.Paste

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
moufine34 Messages postés 4 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 28 janvier 2009
28 janv. 2009 à 19:10
Moufine...
merci Jack, le problème c'est quand je veux coller la cellule, en effet la destination est de la forme :
lignevide = Worksheets("feuill2").Cells(65536, 1).End(xlUp).Row + 1
Worksheets("feuill2").Cells(lignevide, 13).Value = Worksheets("feuill1").Cells(16, 8).Value.

merci d'avance si tu peux m'aider
0
moufine34 Messages postés 4 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 28 janvier 2009
28 janv. 2009 à 19:15
Moufine...
mis en forme c'est plus lisible

merci Jack, le problème c'est quand je veux coller la cellule, en effet la destination est de la forme :
lignevide Worksheets("feuill2").Cells(65536, 1).End(xlUp).Row + 1 Worksheets("feuill2").Cells(lignevide, 13).Value Worksheets("feuill1").Cells(16, 8).Value
merci d'avance si tu peux m'aider
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2009 à 20:11
Oui, bah suffit d'adapter : Pense à regarder dans l'aide !
à la place de mes Range, tu mets tes Cells avec variable, mais il faut absolument faire un Copy / Paste.
    Sheets("Feuil1").Select
    Cells(16, 8).Select
    Selection.Copy
    Sheets("Feuil2").Select
    Cells(LigneVide, 13).Formula = ActiveSheet.Paste

ou même, ta précédente fonction était bonne, sauf qu'il faut utiliser Formula et pas Value
    Worksheets("Feuil2").Cells(LigneVide, 13).Formula = _
        Worksheets("Feuil1").Cells(16, 8).Formula

Fait attention aussi aux noms des feuilles : le format standard est "Feuil1", pas "feuill1" (un L en trop), à moins que tu aies renommé ces feuilles toi même ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2009 à 20:13
Pense à enregistrer des macros pendant que tu fais des manips à la main : Tu auras le code tout fait !
0
moufine34 Messages postés 4 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 28 janvier 2009
28 janv. 2009 à 21:31
Merci Jack le code que tu m'as donné marche partiellement
Voilà le code que je tape grace à tes indications
effectivement j'obtiens bien un lien hypertexte dans ma 2eme feuille;
par contre il se colle n'importe où
as tu une idée de ce qui ce passe?

Private Sub collage_lien()

LigneVide = Worksheets("Base devis").Cells(65536, 1).End(xlUp).Row + 1

Sheets("Devis").Select
Cells(1, 13).Select
Selection.Copy
Sheets("Base devis").Select
Cells(LigneVide, 14).Formula = ActiveSheet.Paste

End Sub
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 janv. 2009 à 00:27
Re
Bah la réponse est simple : Que vaut LigneVide après sa définition ?
C'est surement là qu'est l'erreur.
Est-ce qu'il colle dans la bonne colonne ? Ce numéro de colonne est fixe : 14, il ne devrait donc pas aller ailleurs.

Connais-tu les touches F9 et F8 ?
F9 pose une demande d'arrêt sur une ligne de code (celle de LigneVide = ... serait parfaite).
Une fois stoppé sur cette ligne, il te suffit de survoler les noms des variables pour que leur valeur s'affichent.
F8 permet de continuer à exécuter le code, mais d'une seule figne afin de poursuivre la recherche de bug
F5, bien sûr, permet de continuer le programme normalement
NB : Quand le programme est arrêté sur une ligne, il ne l'a pas encore exécutée.

Utilise ces fonctions pour suivre le programme et vérifier son cheminement + vérifier que les calculs sont bons. S'ils ne le sont pas, de regarder pourquoi.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous