Variable VB Excel
Résolu
zebulon2503
Messages postés
1319
Statut
Membre
-
zebulon2503 Messages postés 1319 Statut Membre -
zebulon2503 Messages postés 1319 Statut Membre -
Salut à tous,
quelqu'un pourrait il me donner la syntaxe pour appeler une variable déclarée dans une procédure "Sub x()" et l'utiliser dans une procédure "Sub y()" ?
Je trouve pas ce que je cherche sur le net :/
Merci d'avance !
quelqu'un pourrait il me donner la syntaxe pour appeler une variable déclarée dans une procédure "Sub x()" et l'utiliser dans une procédure "Sub y()" ?
Je trouve pas ce que je cherche sur le net :/
Merci d'avance !
A voir également:
- Variable VB Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
2 réponses
Bonjour,
La variable doit être déclaré à l'extérieur pour avoir une portée
sur les 2 subs.
Exemple type :
Lupin
La variable doit être déclaré à l'extérieur pour avoir une portée
sur les 2 subs.
Exemple type :
Option Explicit Dim Z As String Sub XYZ() Call X Call y End Sub ' Sub X() Z = "Message" End Sub ' Sub y() MsgBox Z End Sub '
Lupin
re:
Dim I as Long Sub X() For i=3 to 391 Call y Call z Next End Sub Sub y() Cells(i + 1).Activate Cells(1,1).Value = Cells(1,1) + ActiveCell.Value End Sub Sub z() Cells(i + 3).Activate Cells(1,2).Value = Cells(1,2) + ActiveCell.value End Sub '
Merci mais j'ai trouvé. J'ai juste passé i en parametre :
----------------------------------------------------------------
Sub X()
For i=3 to 391
Call y(i)
Call z(i)
Next
End Sub
Sub y(i)
Cells(i + 1).Activate
Cells(1,1).Value = Cells(1,1) + ActiveCell.Value
End Sub
Sub z(i)
Cells(i + 3).Activate
Cells(1,2).Value = Cells(1,2) + ActiveCell.value
End Sub
----------------------------------------------------------------
Et ca marche :)
merci pour ton temps passé à me répondre !
----------------------------------------------------------------
Sub X()
For i=3 to 391
Call y(i)
Call z(i)
Next
End Sub
Sub y(i)
Cells(i + 1).Activate
Cells(1,1).Value = Cells(1,1) + ActiveCell.Value
End Sub
Sub z(i)
Cells(i + 3).Activate
Cells(1,2).Value = Cells(1,2) + ActiveCell.value
End Sub
----------------------------------------------------------------
Et ca marche :)
merci pour ton temps passé à me répondre !
Dans mon module, j'ai plusieurs "Sub", la premiere appelant les suivantes. La variable que je veux utiliser dans toutes les Sub correspondant à un compteur.
Voici le détail :
-----------------------------------------------------
Sub X()
For i=3 to 391
Call Sub y
Call Sub z
next
End Sub
Sub y()
Cells(i + 1).Activate
Cells(1,1).Value = Cells(1,1) + ActiveCell.Value
End Sub
Sub z()
Cells(i + 3).Activate
Cells(1,2).Value = Cells(1,2) + ActiveCell.value
End Sub
-----------------------------------------------------
Je voulais tout mettre dans une seule procédure mais je dépasse la taille des 65535 caractères maximum autorisés...