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 Junior
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 Junior
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

Statistiques des forums

Discussions
312 938
Messages
2 093 782
Membres
105 825
dernier inscrit
Bestio Flavio