Variable dynamique en VBA

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

dionys0s

XLDnaute Impliqué
Bonjour le forum.

Long time no see.

Je me tire les cheveux sur un truc. J'aimerais dans une boucle faire appel à une variable dynamique.

Voici mon code :
Code:
Dim Var1 As String
Dim Var2 As String
Dim Var3 As String
Dim Var4 As String
Dim Var5 As String
Dim Var6 As String
Dim Var7 As String
Dim Var8 As String
Dim Var14 As String
Dim Var15 As String
Dim Var16 As String
Dim Var17 As String

Var1 = Range("F2").Value
Var2 = Range("F4").Value
Var3 = Range("C2").Value
Var4 = Range("F6").Value
Var5 = Range("F8").Value
Var6 = Range("C22").Value
Var7 = Range("F22").Value
Var8 = Range("C4").Value
Var14 = Range("F58").Value
Var15 = Range("C59").Value
Var16 = Range("C61").Value
Var17 = "Validé"

For j = 1 To 17
    If j = 9 Or j = 10 Or j = 11 Or j = 12 Or j = 13 Then
    Else
    Range(Cells(ActiveCell.Row, j), Cells(ActiveCell.Row + i, j)).Merge
    Range(Cells(ActiveCell.Row, j), Cells(ActiveCell.Row + i, j)) = ??????
    End If
Next j

J'ai mis des points d'interrogation là où je bloque. J'aimerais qu'il fasse appel à la variable "Var" & j mais ça ne marche pas comme ça.

Quelqu'un aurait une idée ?
D'avance merci pour votre aide.
 
Re : Variable dynamique en VBA

Pourquoi pas un tableau?

Genre
Code:
Dim Var(17) As String

Var(1) = Range("F2").Value
Var(2) = Range("F4").Value
Var(3) = Range("C2").Value
Var(4) = Range("F6").Value
Var(5) = Range("F8").Value
Var(6) = Range("C22").Value
Var(7) = Range("F22").Value
Var(8) = Range("C4").Value
Var(14) = Range("F58").Value
Var(15) = Range("C59").Value
Var(16) = Range("C61").Value
Var(17) = "Validé"

For j = 1 To 17
    If j = 9 Or j = 10 Or j = 11 Or j = 12 Or j = 13 Then
    Else
    Range(Cells(ActiveCell.Row, j), Cells(ActiveCell.Row + i, j)).Merge
    Range(Cells(ActiveCell.Row, j), Cells(ActiveCell.Row + i, j)) = Var(j)
    End If
Next j

EDIT/ j'avais pas vu le message au dessus
 
Dernière édition:
- 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
5
Affichages
287
Réponses
3
Affichages
673
Réponses
2
Affichages
525
Réponses
2
Affichages
469
Réponses
0
Affichages
470
Réponses
6
Affichages
608
Réponses
5
Affichages
483
Retour