Bonjour à tous,
Je débute en VBA donc je vous demanderai d'être indulgent avec moi ...Je suis conscient que ma question est sûrement très basique, mais je n'ai pas la réponse
Voilà mon petit souci du moment : (j'explique tout parce que si ça se trouve la méthode à la base n'est pas bonne, ou pas la meilleure...)
Je dois reprendre du code, dans lequel il y avait des constantes globales déclarées en dur dans le code.
Je dois rendre ces constantes variables et toujours globales afin de permettre leur paramétrage. Le problème c'est qu'une variable globale ne "vit' que lorsque la macro est activée. Autrement dit, dès qu'on ferme le classeur, on perd sa valeur.J'ai donc créé une feuille de paramètress qui me permet de stocker la valeur de la variable.
Comme je reprends le code, et que je veux en faire un minimum, je cherche à ne pas modifier la façon dont on va chercher la valeur de la variable (qui, si vous me suivez était une constante).
Par exemple dans le code on trouvera:
Afin de conserver cet appel, je déclare :
Code : Sélectionner tout - Visualiser dans une fenêtre à part NouveauString = MaConstante1 & "Mon texte..."
et je l'initialise à l'ouverture du classeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public MaConstante1 As String
Le problème c'est que c'est la valeur de la cellule qui est enregistrée et non le chemin vers la cellule, en fait je voudrais qu'à chaque fois qu'on appelle MaConstante1 il aille chercher la valeur de la cellule A1 (et non sa valeur lors de l'initialisation)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaConstante1 = Worksheets("parametres").Range("A1:A1").Value
J'espère que j'ai été clair... C'est certainement assez "crado" comme codage, mais mon cerveau me donne rien d'autre comme idée...
Merci d'avance...
Partager