XL 2021 récupérer la valeur d'une variable en fin de boucle dans une autre procédure

  • Initiateur de la discussion Initiateur de la discussion Attila451
  • Date de début Date de début

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 !

Attila451

XLDnaute Occasionnel
Bonjour,
Je n'arrive pas à récupérer la valeur de ma variable en fin de boucle. J'ai 2 macros que j'ai simplifiées, la 1ère effectue un balayage avec une boucle while/wend. A la fin de la boucle, je voudrais arriver à enregistrer la valeur 4 et la renvoyer dans la macro suivante. J'ai essayé, surement de travers avec Public const mais ça ne fonctionne pas.
Hormis envoyer ma valeur vers une cellule, et dire à la macro suivant d'aller chercher la valeur dans cette cellule, j'imagine qu'il existe certainement une solution.
Par contre, je précise que j'ai simplifié la macro mais je ne peux pas changer sa structure.
Merci d'avance pour votre aide.
Cdlt
 

Pièces jointes

Bonjour Attila451

Vous pouvez le faire comme Ceci
VB:
Option Explicit

Sub CALCUL()
  Dim Ligori As Long
  Ligori = 1
  While Cells(Ligori, 1) <> ""
    Cells(Ligori, 2) = "B"
    Ligori = Ligori + 1
  Wend
  'la boucle se termine et la valeur de ligori est de 4
  Call total(Ligori)
End Sub

Sub total(Ligori As Long)
  'comment récupérer la valeur 4 pour ligori ci dessous ?
  Cells(Ligori, 1) = "TOTAL"
End Sub

A+
 
Bonjour wDog66,
Merci pour le retour, ça fonctionne !
Par contre, ça aiguise ma curiosité: si on a les valeurs de 2 variables à récupérer, ou 3 et plus:

Option Explicit

Sub CALCUL()
Dim Ligori As Long
Dim ligdest as long


Ligori = 1
ligdest=130
While Cells(Ligori, 1) <> ""
Cells(Ligori, 2) = "B"
Ligori = Ligori + 1
Wend
'la boucle se termine et la valeur de ligori est de 4
Call total(Ligori,ligdest)
End Sub

Sub total(Ligori As Long, ligdest as long)
'comment récupérer la valeur 4 pour ligori ci dessous ?
Cells(Ligori, 1) = "TOTAL"
End Sub

Merci encore !
 
Re,

Le principe semble être compris, mais pas l'utilisation 🤔

On transmet à la Sub Total() les valeurs que l'on veut à partir du moment ou les paramètres sont définis
VB:
Sub total(Ligori As Long, Ligdest as long)
    Msgbox "Valeur de Ligori =" & Ligori
    Msgbox "Valeur de Ligdest =" & Ligdest
End Sub

A+
 
- 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

Discussions similaires

Retour