hypertexte via userform

obyone

XLDnaute Occasionnel
bonjour,

j'ai un petit soucis pour créer mes liens hypertexte

j'aimerais que lorsque que je clique sur modification de mon userform cela remplisse mes colonnes en fonction de mes textbox et que cela insert un lien hypertexte dans la colonne 4 sur la ligne sélectionnée.
merci de votre aide
 

Pièces jointes

  • forum.xlsm
    30.8 KB · Affichages: 31
  • forum.xlsm
    30.8 KB · Affichages: 29

jp14

XLDnaute Barbatruc
Re : hypertexte via userform

Bonjour
Il faut supprimer les points devant Hyperlinks et entre add et range

Code à utiliser

Code:
Hyperlinks.Add Range("d3") , Address:= , TextToDisplay:=" "

avec

Address Obligatoire Chaîne Adresse du lien hypertexte.

TextToDisplay Facultatif Variante Texte à afficher pour le lien hypertexte.

JP
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : hypertexte via userform

Bonjour obyone,

Tu peux me dire pourquoi la colonne description doit avoir un lien hypertexte, alors que tu as une textbox pour description et l'autre pour lien?? :confused:

En plus si tu veux enregistrer les lignes , il faut pas mettre modification mais valider ou enregistrer. Faut pas confondre.

Pas besoin non plus des plages abcd, prend tout le tableau et avec find cel.offset(0, 0) = colonne A cel.offset(0, 1) = colonne B etc.


Un exemple parmi d'autres.

Code:
Private Sub CommandButton1_Click() 'Bouton Enregistrer
Dim col As Integer, derlig As Integer, x As Integer
Dim ctrl As Control, cel As Range, i As Long

With Sheets("Base")
derlig = .Range("a65536").End(xlUp).Row + 1

For Each ctrl In Me.Controls
col = Val(ctrl.Tag)
If col > 0 Then
If Not IsNumeric(ctrl) Then
.Cells(derlig, col) = ctrl
Else
.Cells(derlig, col) = CDbl(ctrl)   'format numérique simple ex: 3124
End If
End If
Next ctrl
.Range("G2:H65000").NumberFormat = "000 000 00 00"   'Numéro téléphone et fax
.Range("A:J").Columns.AutoFit
.Range("A2:J65000").Sort [A2], xlAscending
End With


Private Sub CommandButton3_Click() 'Bouton Modifier
Dim cel As Range, i As Long
If ComboBox1 <> "" Then
With Sheets("Base").Range("a2:j65000")
Set cel = .Find(ComboBox1, , xlValues, xlWhole)
If Not cel Is Nothing Then
For i = 1 To 10
cel.Offset(0, i - 1) = Me.Controls("TextBox" & i).Text
Next i
End If
End With
End If
For i = 1 To 10
Me.Controls("TextBox" & i).Text = ""
Next i
TextBox10.SetFocus
End Sub


Edit: Bonjour jp :)


A+ :cool:
 
Dernière édition:

obyone

XLDnaute Occasionnel
Re : hypertexte via userform

merci de vos réponses, mais cela bloque toujours
pour répondre à lone wolf, c'est un tableau qui regroupe divers documents d'un serveur et dans la description du tableau je mets le lien du document.
pour le bouton modification c'est bien une modification car j'ai un autre userform pour créer la ligne.

pourquoi range ("d") ou range("d" & Rows.Count).End(xlUp).Row + 1 ne fonctionne pas avec la ligne hyperlinks?
merci de votre aide
 

Pièces jointes

  • forum.xlsm
    28.8 KB · Affichages: 24
  • forum.xlsm
    28.8 KB · Affichages: 34

obyone

XLDnaute Occasionnel
Re : hypertexte via userform

bonjour,
j'ai un peu avancé mais j'ai un probleme de colonne
je voudrais que le lien hypertexte apparaisse dans la colonne description, et pas dans la premiere colonne.
comment faire?
merci
 

Pièces jointes

  • forum.xlsm
    30.9 KB · Affichages: 24
  • forum.xlsm
    30.9 KB · Affichages: 42

obyone

XLDnaute Occasionnel
Re : hypertexte via userform

bonjour,

merci de l'aide à tous...

macro finale

Private Sub Ajouter_Click()
Dim C As Range
Dim i As Integer

With Worksheets("Accueil").Select

i = 2
Do While Cells(i, 1) <> ""
Cells(i, 4).Offset(1, 0).Select 'case selectionnée
i = i + 1
Loop
ActiveCell.Offset(0, -3).Value = "VDO"
ActiveCell.Offset(0, -2).Value = ModifVDO.TB_Noms.Value 'ajout TB noms 3 case avant
ActiveCell.Offset(0, -1).Value = ModifVDO.TB_Date.Value 'ajout date 1 case avant
ActiveCell.Offset(0, 0).Value = ModifVDO.TB_Description.Value 'ajout description
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:=Me.TB_Lien.Value
ActiveCell.Offset(0, 4).Value = Format(Now, "dd/mm/yyyy")
End With
Range("SIVDO").Columns("a").Sort Key1:=Range("SIVDO").Columns("a"), Header:=xlYes ' tri le tableau "SIVDO" du plus petit au plus grand
Unload Me
End Sub

merci à tous de votre aide
 

Discussions similaires

Statistiques des forums

Discussions
314 210
Messages
2 107 304
Membres
109 798
dernier inscrit
NAJI2005