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!!
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)
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 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
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 ...
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?
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)