Microsoft 365 ListBox - colonne Lien Hypertexte

Scorpio

XLDnaute Impliqué
Bonjour à tous,
J'ai récupéré ce travail dans le Forum, et j'aimerais, car je ne suis pas un champion VBA, faire une correction.
En fait, j'ajoute dans la colonne "E", de la feuil1, des liens hypertextes, et, lorsque je fait le transfert dans la feuille "Transfert",
le lien ne suis pas, il n'est plus un lien, voilà.
Est-ce qu'un membre pourrais juste, s'il vous plaît, me dépanner.
Je vous en remercie et à ++++
 

Pièces jointes

  • USF_ListBoxMultiSelect.xlsm
    37.5 KB · Affichages: 13

job75

XLDnaute Barbatruc
La macro EnteteListBox permettait d'ajuster les largeurs des colonnes, je trouve que c'était bien...

J'en profite pour corriger le fichier (3) post #22.

Pour les boutons j'ai remplacé .Rows(ligne) par .Cells(ligne, 1) et .Rows(lig) par .Cells(lig, 1)

Ici ce n'est pas indispensable mais ce le serait si le nombre de colonnes du tableau était un diviseur du nombre de colonnes de la feuille (16384).
 

Scorpio

XLDnaute Impliqué
Re bonjour job75,
Juste une petite question:
J'aimerais ajouter un format date dans la colonne 4 et 5 du formulaire comme ceci
mercredi, 14 mars 2020, mais ma correction ne fonctionne pas, voici le code

Private Sub CommandButton2_Click() 'Transfert en bloc
Dim d As Object, i&, x$, ligne&
Set d = CreateObject("Scripting.Dictionary")
With [Tableau1]
For i = 1 To .Rows.Count
x = .Cells(i, 1) & .Cells(i, 2) & .Cells(i, 3) & .Cells(i, 4) & .Cells(i, 5)
If Not d.exists(x) Then d(x) = i 'mémorise la ligne
Next
End With
ligne = 2
With Sheets("Transfert")
.Range("A2:E" & .Rows.Count).Clear
For i = 0 To ListBox1.ListCount - 1
With ListBox1: x = .List(i, 0) & .List(i, 1) & .List(i, 2) & .List(i, 3) & .List(i, 4): End With
If d.exists(x) Then
[Tableau1].Rows(d(x)).Copy .Rows(ligne)
.Cells(ligne, 1).Validation.Delete 'supprime la liste de validation éventuelle
ligne = ligne + 1
End If
Next
.Cells(ligne, 2) = "Total"
.Cells(ligne, 3) = "=SUM(C1:C" & ligne - 1 & ")"
.Cells(ligne, 3).NumberFormat = "#,##0.00"
.Cells(ligne, 2).Resize(, 2).Font.Bold = True 'gras
.Cells(ligne, 4).Date = "dddd dd mmmmm yyyy" 'Format de la date
.Cells(ligne, 5).Date = "dddd dd mmmmm yyyy" 'Format de la date
.Visible = xlSheetVisible 'si la feuille est masquée
Application.GoTo .[A1]
End With
Unload UserForm1
End Sub
 

job75

XLDnaute Barbatruc
Ecoutez soyez un peu cohérent :

- partez de mon fichier (3) dont les macros sont au point

- mettez des dates partout en colonne D et E, ne mélangez pas les choux et les carottes.

Pour faire ce que vous voulez il faudra 2 colonnes supplémentaires transformant les dates en textes.
 

Discussions similaires

Réponses
7
Affichages
471

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16