Problème de boucle imaginaire dans un SUB

Fermé
Iguanal Messages postés 2 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013 - 17 janv. 2013 à 12:15
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 17 janv. 2013 à 16:40
Bonjour à tous,

J'ai ecrit une fonction pour excel qui me crée un Lien hypertexte et me remplis un tableau(dans une autre feuil) avec des adresses de lien.

La partie créationde lien hypertexte marche parfaitement.
Par contre ce qui me semblait le plus simple ( remplir un tableau )me pose problème depuis un petit moment.

Voici mon problème : en mode pas à pas
Si j'appel uniquement Sub CreationHyperlink tout se passe comme prévu
maintenant si j'appel Sub CreationHyperlink et CreationTableau avec ses paramètres
j'execute uniquement cette action : Worksheets("Feuil3").Cells(1, 1).Value = a
puis plus rien... Je ne retorune même pas par le END FUNCTION
Enfin si j execute Sub CreationHyperlink et CreationTableau sans ses paramètres
je tourne en boucle dans CreationTableau, encore une fois sans retourner par END FUNCTION

Voici mon code:


Public Sub CreationHyperlink(a As String)

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=a

End Sub
_____________________________________________________________________
Private Sub CreationTableau() 'a As String, b As String, c As String)
Worksheets("Feuil3").Cells(1, 1).Value = a
Worksheets("Feuil3").Cells(1, 2).Value = b
Worksheets("Feuil3").Cells(1, 3).Value = c

End Sub
_____________________________________________________________________


Function AddLink(AddrInternet As String, AddrLocal As String, Name As String) As String

AddLink = Name
Call CreationHyperlink(AddrLocal)
'Call CreationTableau 'AddrInternet, AddrLocal, Name)


End Function
____________________________________________________________________

D

3 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 17/01/2013 à 12:24
Bonjour,
En premier : Tu envoi l'adresse de la cellule par un String mais le paramètre à besoin d'un Range
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Range(a)

J'ai pas encore regarder la suite
A+
EDIT : Je comprend pas bien ce que tu veux faire ! explique un peu plus..
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
Iguanal Messages postés 2 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 16:35
Merci pour ta réponse lermite222. je sais que ma syntaxe en VB est un peu hasardeuse mais jene pense pas que mon problème soit la (ou du moin pas celui que je cherche ;) )
Tout en gardant ma methode de rédaction pitoyable j'ai reuci à résoudre mon problème en le contournant.
Au lieu d'appeler ma fonction devant remplir le tableau dans un module je l'appel depuis une feuil (je ne sais pas si mon explication est correcte...)
En utilisant : "DES VARIABLES GLOBALES"
Oui je sais pas bien .... Mais au moins ça marche !

Et pour répondre à ta question

Je dois faire une petite fonction servant à simplifier l'ajout d'une donnée (pour un troubleshooting)

Donc pour faire simple on rentre une fonction(perso) avec 3 parametres
_ adresse internet
_adresse local
_nom du lien

Ces données sont placées dans le tableau feuil3

Une case en haut (remplie par l'utilisateur) indique si il poséde une connection internet ou non.
En fonction de cela on change la cible du lien hypertexte.

Voila voila Je vous remerci encore pour vos réponses !

PS: Lermite222 je sais que j'ai un gros travail à faire sur ma syntaxe est bien sur je ne me contente pas de mes lignes hasardeuse ;)
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 janv. 2013 à 16:40
Globale est Obsolète, est encore repris mais jusque quand ?
La syntaxe pour une variable publique c'est...
Public MaVar as String ' ou autre bien entendu.
A+
0