VBA Tri de plage avec lien hypertexte

reggie11 Messages postés 3 Statut Membre -  
reggie11 Messages postés 3 Statut Membre -
Bonjour,

Ayant regardé les forums sur les liens hypertextes, je n'ai pas vu de sujet qui ressemble à mon pbm. Alors, si quelqu'un pourrait m'aider, ce serait vraiment sympa.

En fait, j'ai créé une macro qui rajoute un nom sur une nouvelle ligne dans un tableau simple, puis il crée un lien hypertexte avec ce nom , et trie le tableau par ordre alphabétique.

Le souci, c'est qu'il s'arrête à la création du lien et ne trie pas.
J'ai supprimé le lien, et ça marche, mais ce n'est pas le but.
J'ai essayé aussi de créer un bouton avec une macro enregistrée avec exactement le même programme, et ça marche.
Avez-vous une idée pourquoi le tri ne marche pas quand c'est lancé depuis VBA ?

Merci d'avance pour votre aide.

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour,

    Tu as bien essayé d'expliquer ton problème mais sans plus d'éléments comment veux-tu que l'on te dise la manipulation incorrecte ?

    Si je te dis je suis allé au marché avec une voiture puis j'ai essayer d'aller à la plage avec la même voiture mais cela n'a pas fonctionné : peux-tu me donner l'origine de la panne ?

    Tu vois, qu'il nous faudrait des éléments plus précis pour te donner un avis.
    2
  2. reggie11 Messages postés 3 Statut Membre
     
    Merci pour ta réponse. En effet, je débute en VBA et pas encore habituée au forum...
    Alors voici le code :

    Sheets("Sommaire").Select
    Range("D8").Select
    Selection.ListObject.ListRows.Add (2)
    Range("D8") = Nom & " " & Prenom

    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    Nom & "!A1", TextToDisplay:=Nom & " " & Prenom

    ActiveWorkbook.Worksheets("Sommaire").ListObjects("Tableau5").Sort.SortFields. _
    Clear
    ActiveWorkbook.Worksheets("Sommaire").ListObjects("Tableau5").Sort.SortFields. _
    Add Key:=Range("Tableau5[#All,[Personnel CDD et Interim]]"), SortOn:= _
    xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets("Sommaire").ListObjects("Tableau5").Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With

    C'est la partie en gras qui bloque. Par contre, dès que j'appuie sur F5, il continue le programme jusqu'au bout.
    0
  3. reggie11 Messages postés 3 Statut Membre
     
    Bonjour à tous,

    Je vais reformuler ma demande avec plus de précision, car peut-être il manque des détails.

    Mon but est de trier une colonne de tableau composé de liens hypertextes. Le souci, c'est qu'il ne veut pas le trier .
    Voici le code :

    ' Insérer une ligne et écrire le nom et prénom, puis mettre un lien hypertexte
    Sheets("Sommaire").Select
    Range("D8").Select
    Selection.ListObject.ListRows.Add (2)
    Range("D8") = Nom & " " & Prenom
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    Nom & "!A1", TextToDisplay:=Nom & " " & Prenom

    'Trier par ordre alphabétique
    ActiveWorkbook.Worksheets("Sommaire").ListObjects("Tableau5").Sort.SortFields. _
    Clear
    'C'est à ce niveau qu'il se bloque
    ActiveWorkbook.Worksheets("Sommaire").ListObjects("Tableau5").Sort.SortFields. _
    Add Key:=Range("Tableau5[#All,[Personnel CDD et Interim]]"), SortOn:= _
    xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    'Et dès que j'appuie sur F5, il continue
    With ActiveWorkbook.Worksheets("Sommaire").ListObjects("Tableau5").Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With

    Si vous pourriez m'aider pour trouver la solution, je vous remercie par avance.
    0