ben008
Messages postés16Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention31 mars 2010
-
29 mars 2010 à 15:26
ben008
Messages postés16Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention31 mars 2010
-
31 mars 2010 à 08:43
Bonjour ,
J'ai cru comprendre qu'il n'était pas possible de partager un classeur qui contient une macro.
Ou du moins celle ci ne fonctionnera pas ou mal.
Ce qui est mon cas :
J'ai un classeur partagé sur lequel j'ai créé une macro qui créer un lien automatiquement dans une cellule en recuperant la valeur de celle ci pour l'inserer dans le lien:
Public iVerrou As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If iVerrou = False Then
iVerrou = True
If Target.Value <> "" Then
If Target.Column = 8 Then
sVal = Target.Value
Cells(Target.Row, Target.Column).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"https://############/#######.php?ID=" & sVal
End If
End If
iVerrou = False
End If
End Sub
Le comportement de la macro est completement HS une fois partagée.
Quelqu'un aurait il un moyen de contourner ce probleme, voir une solution qui n'utiliserais pas de macro (peut etre une fonction excel que je ne connais pas?)
daffy17
Messages postés106Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention22 avril 2010 30 mars 2010 à 15:01
Le problème ne viens pas de partager un fichier qui contient une macro.
La macro fonctionnera toujours même le fichier partagé (seul l'édition de la macro est impossible).
Cependant en partageant le fichier cela restreint certaines fonctionnalité comme la possibilité d'ajouter une liste de choix sur une cellule. La méthode "Hyperlinks" que utilise en fait partie.
Une des solutions serait d'ajouter la formule de lien hypertexte à ta cellule.
Public iVerrou As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If iVerrou = False Then
iVerrou = True
If Target.Value <> "" Then
If Target.Column = 8 Then
sVal = Target.Value
Cells(Target.Row, Target.Column).Select
Selection.Formula = "=HYPERLINK(""https://############/#######.php?ID=" & sVal & ""","""& Selection.Value & """)"
End If
End If
iVerrou = False
End If
End Sub
Cette formule :
Selection.Formula = "=HYPERLINK(""https://############/#######.php?ID=" & sVal & ""","""& Selection.Value & """)"
fonctionne avec un classeur verrouiller.
Elle correspond à la formule française de "=LIEN_HYPERTEXTE(URL,Valeur de la cellule)"
Seul inconvénient lors du clique sur la cellule c'est la formule qui apparait cependant la valeur de la cellule reste la même.
ben008
Messages postés16Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention31 mars 2010 31 mars 2010 à 08:43
Bonjour a vous et merci de votre réponse cela marche parfaitement comme ceci.
Et le fait de voir la formule ne me dérange pas du tout du moment que les liens fonctionnent.