• Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
Bonjour le forum,

dans une cellule, je récupère l'intitulé tronqué du lien hypertexte,
par contre lorsque j'approche la souris je peux lire dans la bulle ce lien en entier,
et lorsque j'active le lien (clic) cela fonctionne.

Ce qu'il faudrait : l'intitulé complet du lien dans la feuille matrice ainsi que dans la feuille mars et feuil1.

Jusqu'à présent l'utilisateur le fait à la mano, par copier/coller, mais cela se répète tous les trimestres...🙁🙁
J'ai essayé par l'enregistreur, mais ça ne donne rien.

accessoirement : la mise à jour du graphique sur mars et feuil1 (pareil, c'est fait à la mano!!!)

Un grand MERCIiiiiiiii à vous🙂

Bises

C@thy
 
Re : Lien hypertexte

Bonjour C@thy 🙂 ça fait un bout de temps...

Tout bêtement :

Code:
Sub Adresse()
Dim cel As Range
On Error Resume Next 'sécurité, si pas de lien hypertexte
For Each cel In Range("A1", [A65536].End(xlUp))
  cel = cel.Hyperlinks(1).Address
Next
End Sub
A+
 
Re : Lien hypertexte

Re,

Et pour le dimensionnement des images en Feuil1 et mars :

Code:
Sub Images()
Dim coef#, p As Object
coef = 22 'à adapter
For Each p In ActiveSheet.Pictures
  p.Width = p.TopLeftCell.Offset(, -1) / coef
Next
End Sub
A+
 
Re : Lien hypertexte

Re coucou,

juste un truc (Ah les femmes!!!)

dans ma colonne d'adresses e-mail j'ai un renvoi à la ligne automatique, et donc la hauteur de mes lignes varie,

par conséquent il arrive que l'image ne soit pas en face de la bonne colonne...😡

Serait-il possible de mettre 1 image par ligne et pas plus (pas moins non plus)???
(au besoin créer l'image par macro, car en fait le nombre de lignes est susceptible de varier également...
donc si on rajoute des ligne il faut rajouter des images...

Edit : l'idéal serait que la barre (l'image) soit positionnée en face du chiffre, mais ça, c'est pas facile, j'imagine...😱 et en plus qu'elles soient toutes alignées à gauche (ça, c'est plus facile)...

En te remerciant

Bises

C@thy
 
Dernière édition:
Re : Lien hypertexte

Re,

Pour la feuille Feuil1 on traite la colonne D :

Code:
Sub CreerShapes()
Dim coef#, h#, s As Shape, cel As Range
coef = 22 'à adapter
h = 8 'hauteur des Shapes, à adapter
Application.ScreenUpdating = False
'---suppression de toutes les Shapes---
For Each s In ActiveSheet.Shapes
  s.Delete
Next
'---création des nouvelles Shapes---
For Each cel In Range("D1", [D65536].End(xlUp))
  If IsNumeric(cel.Text) Then
    Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
      cel.Offset(, 1).Left, cel.Top, cel / coef, h)
    s.Fill.ForeColor.SchemeColor = 12 'bleu '10 'rouge
  End If
Next
End Sub
Edit : bien sûr, alignement vertical Haut des cellules en colonne D.

Adapte à la colonne C pour la feuille mars.

A+
 
Dernière édition:
Re : Lien hypertexte

Re,

Il vaut mieux l'alignement vertical centré pour la colonne D (ou C), avec la macro :

Code:
Sub CreerShapes()
Dim coef#, h#, s As Shape, cel As Range
coef = 22 'à adapter
h = 8 'hauteur des Shapes, à adapter
Application.ScreenUpdating = False
'---suppression de toutes les Shapes---
For Each s In ActiveSheet.Shapes
  s.Delete
Next
'---création des nouvelles Shapes---
For Each cel In Range("D1", [D65536].End(xlUp))
  If IsNumeric(cel.Text) Then
    Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
      cel.Offset(, 1).Left, cel.Top + (cel.Height - h) / 2, cel / coef, h)
    s.Fill.ForeColor.SchemeColor = 12 'bleu '10 'rouge
  End If
Next
End Sub
A+
 
Dernière édition:
Re : Lien hypertexte

Ah oui, comme ça, c'est plus que parfait!...
juste une petite chose : comment je modifie
Code:
For Each cel In Range("D1", [D65536].End(xlUp))
pour qu'il ne fasse pas la dernière ligne (le total)?
(j'ai essayé For Each cel In Range("D1", [D65536].End(xlUp)-1) mais c'est pas bon)

Merci à toi, bises et bonne journée

C@thy
 
Re : Lien hypertexte

Bonjour C@thy 🙂

Oui, et on peut aussi écrire :

Code:
For Each cel In Range("D1", [D65536].End(xlUp)(0))
Mais il y a une autre solution (qui évite d'ailleurs un test) :

Code:
'---création des nouvelles Shapes---
On Error Resume Next 'si aucune constante numérique
For Each cel In [D:D].SpecialCells(xlCellTypeConstants, 1)
  Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
    cel.Offset(, 1).Left, cel.Top + (cel.Height - h) / 2, cel / coef, h)
  s.Fill.ForeColor.SchemeColor = 12 'bleu '10 'rouge
Next
End Sub
La dernière ligne contenant une formule, elle ne sera pas traitée.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
559
Réponses
21
Affichages
2 K
Réponses
5
Affichages
1 K
Retour