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 :

[VBA-E]Copier un lien hypertexte d'une feuille à une autre


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 19
    Points
    19
    Par défaut [VBA-E]Copier un lien hypertexte d'une feuille à une autre
    BOnjour à tous,

    Je doit copier le contenu de plusieurs cellules dont certaines contiennent un lien hypertexte d'une feuille(Tableau) à une autre(Compilation). Le code copie le contenu de la cellule, mais pas le lien qui s'y rattache.
    Voici le code de copie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    toutelaligne = False
    colc = 0
     
    ' Transfert de chaque cellule de l'offre d'emploi
    Do While Not toutelaligne
        If colc < 17 Then
           colc = colc + 1
           Worksheets("Compilation").Cells(lignec, colc).Value = Worksheet("Tableau").Cells(lignet, colc).Value
        Else: toutelaligne = True
        End If
    Loop
    Quelqu'un sait comment faire pour faire suivre le lien hypertexte dans la feuille de destination de la copie?

    Merci d'avance

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Peut etre utiliser la fonction "copy" plutot qu'une égalité entre 2 cellules

    Regarde l'aide de la fontion Copy tu trouvera surement ton bonheur

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    toutelaligne = False
    colc = 0
     
    ' Transfert de chaque cellule de l'offre d'emploi
    Do While Not toutelaligne
        If colc < 17 Then
           colc = colc + 1
           Worksheets("Compilation").Cells(lignec, colc).copy Worksheet("Tableau").Cells(lignet, colc)
        Else: toutelaligne = True
        End If
    Loop
    Par exemple sinon direct copier toute la plage de valeurs (Range(...).copy destination

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    je vien de tester ton con code avec .copy plutot que .value = ... et ca ne fonctionne pas, en faite, ca ne copy rien du tout. J'ai aussi consulter les sources, avec Aucune réponse n'est associée à ce/ces mots clés pour réponse à ma recherche...

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    Désolé sa fonctionne le copy en fin dcompte! C'étais mon erreur

    Merci

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Fatigués en fin de semaine ?
    Déjà si tu veux mettre copy au lieu de =, il faut inverser les propositions... Un peu de logique

    Worksheets("Compilation").Cells(lignec, colc).copy Worksheet("Tableau").Cells(lignet, colc)
    NE PEUT PAS REMPLACER
    Worksheets("Compilation").Cells(lignec, colc).Value = Worksheet("Tableau").Cells(lignet, colc).Value
    Ça, à la rigueur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Worksheet("Tableau").Cells(lignet, colc).copy Worksheets("Compilation").Cells(lignec, colc)


    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    Merci ouskel'n'or pour tes précisions, mais j'avais déja compris qu'il fallait inverser la condition pour l'effet voulu.

    Une autre petite question: Je veux faire une condition qui vérifie s'il y a quelque chose dans une cellule, mais je n'arrive pas a trouver la syntaxe...

    du genre l'inverse de la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Worksheets("Compilation").Cells(ligneaefface0, 1).Value = Empty Then
    J'ai essayer avec un ! juste avant Empty, j'ai essayer Not avant Empty et aussi juste avant Worksheets.... et rien ne marche.

    Merci tout lmonde en passant

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    t'a essayé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if not Worksheets("Feuil1").Cells(15000, 1) = Empty
    A+

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    Ah ha! Sa semble fonctionner! Merci beaucoup.

    J'avais essayer avec le Not juste avant le Worksheets(... mais j'avais laisser le .value à la fin, ce qui était probablement la cause du problème. Avec le temps, je débute de moins en moins en VB lol

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/05/2012, 11h32
  2. Copier le code d'un bouton d'une feuille à une autre.
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/01/2009, 14h46
  3. Réponses: 34
    Dernier message: 23/10/2007, 13h53
  4. [VBA-E] Copier des données d'un tableau a une feuille
    Par KKshi666 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/04/2007, 14h09
  5. [VBA-E]copier un lien hypertexte sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2006, 18h22

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