• Initiateur de la discussion Initiateur de la discussion Lu K
  • 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 !

Lu K

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Je voudrait récuper les valeur de variable en boucle, mais de n'y arrive pas !

Mes Variables déja déclarés :

production_mensuel_1 = range("production_mensuel_1").row
production_mensuel_2 = range("production_mensuel_2").row
production_mensuel_3 = range("production_mensuel_3").row
production_mensuel_4 = range("production_mensuel_4").row
production_mensuel_5 = range("production_mensuel_5").row
production_mensuel_6 = range("production_mensuel_6").row
production_mensuel_7 = range("production_mensuel_7").row
production_mensuel_8 = range("production_mensuel_8").row
production_mensuel_9 = range("production_mensuel_9").row
production_mensuel_10 = range("production_mensuel_10").row
production_mensuel_11 = range("production_mensuel_11").row
production_mensuel_12 = range("production_mensuel_12").row

Voici mon code :

Code:
For i = 1 To 12
NomTemporaire = "production_mensuel_" & i
msgbox NomTemporaire 
next i

Le résulat est qu'il m'affiche le "nom de ma variable" et non son résultat !

Avec vous une solution pour moi ?


Merci d'avance pour vos réponse.
 
Re : Variables en boucle

Bonjour,

il eut été plus judicieux d'utiliser des variables tableau !!!
Comme ceci par exemple :
Code:
Sub Test()
  Dim produc_mensuel(12) As Integer
  Dim i As Integer, msg As String
  
  'Pour inititaliser
  For i = 0 To 11
    produc_mensuel(i) = Range("Production_mensuel_" & i + 1).Row
  Next
  
  'Pour récupérer en boucle
  For i = 0 To 11
    msg = msg & produc_mensuel(i) & vbCr
  Next
  MsgBox msg
End Sub

Caillou
 
Re : Variables en boucle

Bonjour Lu K, hello Caillou,

Oui les variables tableaux sont très utilisés en VBA.

On peut même y stocker des plages (Range) :

Code:
Sub Test()
  Dim i%, P(1 To 12) As Range, produc_mensuel&(1 To 12), msg$
  
  'Pour inititaliser les 2 tableaux
  For i = 1 To 12
    Set P(i) = Range("Production_mensuel_" & i)
    produc_mensuel(i) = P(i).Row
  Next
  
  'Pour récupérer en boucle
  For i = 1 To 12
    msg = msg & P(i).Address(0, 0, , True) & vbTab & _
      "ligne : " & produc_mensuel(i) & vbTab & vbCr
  Next
  MsgBox msg
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

Réponses
15
Affichages
793
Réponses
5
Affichages
917
Réponses
4
Affichages
284
Réponses
4
Affichages
738
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour