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 !
Enfin quand je dis déclaration ... C'est un grand mot, la plupart des variables ne sont pas déclarées.
Je dois reprendre des codes VBA faits par d'autres, les remettre à plat, les corriger, éventuellement les faire évoluer, histoire que se remettent à fonctionner les applications.
Je suis en train de relire les codes en question, et certaines variables me surprennent un peu.
Par exemple, dans le code suivant:
Code:
Function WsExist(Nom$) As Boolean
On Error Resume Next
WsExist = Sheets(Nom).Index
End Function
Je comprends ce que fait la fonction dans sa globalité, mais l'argument passé "Nom$" et la variable dans le code "Nom" m'étonnent un peu.
Il semble évident, au vu de la fonction, que les deux variables font référence au même objet donc ... le "$" dans l'argument de la fonction sert à quoi ?
Je me pose la même question concernant le "&" que j'ai vu passé aussi, en suffixe de variables là encore.
Des subtilités du langage que je ne connais pas encore ?
Si quelqu'un peut m'expliquer, merci d'avance. Ça n'a pas l'air d'être hyper gênant pour la correction de code, mais ça me perturbe un peu.
Function WsExist(Nom$) As Boolean
On Error Resume Next
WsExist = Sheets(Nom).Index
End Function
Cela signifie que la fonction WsExist est de type Booléenne. Elle va donc renvoyer comme résultat Vrai ou Faux. Elle a besoin de l'argument Nom qui est de type String (c'est ce qu'indique le $ à la fin).
Su tu as, par exemple, un onglet qui se nomme Menu, tu peux écrire dans n'importe quelle cellule de n'importe quel onglet :
Code:
=WsExist("Menu")
À la validation par la touche [Entrée] tu verras s'affichier dans le même cellule : Vrai.
J'ai cherché à quoi correspond & dans l'aide VBA mais j'ai pas trouvé. Je n'utlise jamais ces caractères pour rendre les codes plus lisibles...
Merci pour vos explications.
Donc ça équivaut à une déclaration de variable. Du coup, le code devient plus lisible.
Par contre, j'en viens à me poser la question sur l'extrait de code suivant:
Code:
Private Sub importer_Click()
Application.ScreenUpdating = False
Application.EnableCancelKey = xlErrorHandler
Dim Arr
Arr = Split("Liste_de_Interventions")
Application.DisplayAlerts = False
For i = 0 To UBound(Arr)
S$ = Arr(i)
...
...
Si j'ai bien compris ce que tu viens d'expliquer pierrejean, la ligne S$ = Arr(i) équivaut à Dim S as String = Arr(i).
On peut donner une valeur à une variable qu'on déclare directement sur la même ligne ?
Effectivement c'est bien ce qu'il se passe
Arr etant declaré en Variant (par defaut ; et obligatoirement puisqu'il contiendra par la suite un tableau) peut contenir tout type de variable
S$=Arr(i) transforme le ieme contenu de Arr en String et le stocke dans la variable S
- 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