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

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

  • FICHIER1.xlsm
    12.5 KB · Affichages: 2

wDog66

XLDnaute Occasionnel
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+
 

Attila451

XLDnaute Occasionnel
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 !
 

wDog66

XLDnaute Occasionnel
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+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
313 271
Messages
2 096 724
Membres
106 720
dernier inscrit
Alain EDZOA