Macro transformants les hyperliens text en hyperliens cliquables - VB/VBA/VBS - Programmation
Marsh Posté le 19-01-2009 à 13:05:55
Bonjour
Essaie cela :
Code :
|
En lieu et place de ta boucle actuelle.
[edit] regarde dans l'aide, la fonction InStr() [/edit]
Cordialement
Marsh Posté le 19-01-2009 à 13:22:24
Apparemment, y a un truc qui bug
Il me dit : "run-time error '9'"
Subscript out of range.
Le debugger me met en surbrillance la ligne :
"Set rLastCell = Worksheets("ActiveSheet" ).Range("A" & Cells.Rows.Count).End(xlUp)"
Marsh Posté le 19-01-2009 à 13:26:19
Euh... ta feuille se nomme ActiveSheet ? Je ne pense pas...
Remplace ActiveSheet par le nom de ta feuille (onglet)
Si ta feuille se nomme feuil1 : Set rLastCell = Worksheets("feuil1" ).Range("A" & Cells.Rows.Count).End(xlUp)
ou alors met un truc comme ca :
Set rLastCell = ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp)
Cordialement
Marsh Posté le 19-01-2009 à 13:46:53
Je n'ai plus d'erreur mais rien ne se passe.
La faute vient peut être d'une info que je n'ai pas donnée : les hyperliens sont générés par une formule.
Un exemple de contenu d'une cellule : =Modèle!$B$5&B$3&$B$9&B$4&Modèle!$D$5
Je vais chercher des modèles pour créer mes hyperliens.
Est-ce que ça peut avoir une incidence?
Merci
Marsh Posté le 19-01-2009 à 13:55:59
Toto
=B2
http://toto.fr
Ce code fonctionne tres bien.
Code :
|
Envoie le fichier pour qu'on zieute, car les formules ne posent pas de souci puisqu'on regarde la propriete Text
Marsh Posté le 19-01-2009 à 14:02:12
J'ai trouvé en relisant ton exemple...
Je suis abruti... Je sais...ne le dites pas...
En fait, mes liens ne sont pas en colonne A
J'en ai en colonne C, en colonne D et en colonne E
Si j'adapte, ça jazz.
Le seul truc, c'est que c'est ch... d'adapter > nouvelle question : comment adapte le script pour qu'il fasse ce check dans toute la page active?
Merci encore
Marsh Posté le 19-01-2009 à 14:14:35
je ne dis rien :x
Pour faire simple, tu regardes la derniere colonne, et la ligne la plus basse.
Ex :
Si la derniere colonne contenant des informations est la colonne Z
Et Si la derniere ligne contenant des informations est la 2543
Alors tu mets ca pour declarer rLastCell
Set rLastCell = ActiveSheet.Range("Z2543" )
Marsh Posté le 19-01-2009 à 14:21:05
Nickel!
Me reste plus qu'à venir coller 2 boutons pour les générer et les retirer dans chaque feuille (20 feuilles)
Merci encore
Marsh Posté le 19-01-2009 à 14:39:41
Sinon je t'ai fait ca :
Code :
|
Ca te permet de ne pas avoir a regarder la derniere ligne/colonne, il se demmerde tout seul pour trouver les coordonnées les plus basses, et les prend en reference.
Cordialement
Marsh Posté le 19-01-2009 à 11:11:23
Bonjour,
J'ai absolument besoin de votre aide pour transformer une macro
trouvée sur le net.
J'ai un classeur contenant des hyperliens et du texte standard.
Les hyperliens ne sont actuellement pas cliquables.
J'ai besoin que cette macro teste la feuille active pour y trouver les
hyperliens et qu'elle les rende tous cliquables s'ils ne le sont pas
déjà.
En gros, la page contiendrait
A B C D
1 texte divers
2 http://www.monlien.fr texte divers 2
3 texte divers3 http://www.monlien2.com
4 http://www.monlien4.fr texte divers4 texte divers5
etc...
Actuellement, j'en suis arrivé à un script qui est composé comme
suit :
Sub AddHyperlinks()
Dim rLastCell As Range
Dim Cell As Range
Set rLastCell = Worksheets("ActiveSheet" ).Range("A" & Cells.Rows.Count).End(xlUp)
For Each Cell In Range("A1", rLastCell)
If Not IsEmpty(Cell) Then _Cell.Hyperlinks.Add Cell, Cell.Text, TextToDisplay:="Click
to View"
Next Cell
End Sub
Mon souci est qu'il n'y a pas de test conditionnel vérifiant que la
cellule contient bien un lien (qui commence toujours par http).
Je ne connais pas bien les macros mais je verrais un truc qui ferait
Sub AddHyperlinks() ' validation liens d'une colonne
Dim rLastCell As Range
Dim Cell As Range
Set rLastCell = Worksheets("ActiveSheet" ).Range("A" & Cells.Rows.Count).End(xlUp)
For Each Cell In Range("A1", rLastCell)
**** If (Cell) begins with "http" Then _ *****
Cell.Hyperlinks.Add Cell, Cell.Text, TextToDisplay:="Click to View"
Next Cell
End Sub
Pouvez-vous m'aider?
Evidemment, j'en ai besoin pour hier
Merci d'avance!