Intégrer une variable dans Sheets

Résolu/Fermé
elsmador - 18 juin 2013 à 17:39
 elsmador - 19 juin 2013 à 09:45
Bonjour,

j'ai une liste de cellules avec du texte :
text1
text2
text3
text4
text5

J'ai aussi des onglets ayant exactement le même nom.

J'aimerais faire une boucle à partir de la variable k, mais je n'arrive pas à rentrer autre chose qu'une donnée en dur dans Sheets().

Voici ce que j'aimerais faire :

For j = 1 To 99
k = Sheets("X").Range("A" & j).Value ' (A1 --> A99 = "text1" --> "text99")
Set sh = Sheets(k)
...
...
...
Next j

Merci d'avance !

2 réponses

Je vais poser mon code, ça permettra peut-être à quelqu'un de comprendre. En l'occurence, mettre une variable fonctionne, l'incrémentation fonctionne bien, mais le résultat n'est pas bon.

Sub simul()

Dim i, j As Integer
Dim c, d, p, r As Single
Dim k As String

i = 3
c = 0
d = 0
p = 0

Set no = Sheets("Nono")

For j = 5 To 12
    
    k = Sheets("Simulation").Range("A" & j).Value
    Set tr = Sheets(k)
    
    r = 0
    
    While no.Range("B" & i).Value <> ""
    
        If IsNumeric(no.Range("R" & i)) = True And no.Range("J" & i).Value < 15 And no.Range("R" & i).Value <> "" Then
            
            d = no.Range("R" & i).Value
            p = no.Range("J" & i).Value
            
            Select Case p
            Case Is < 1
                c = tr.Range("E" & d + 1).Value
            Case Is < 3
                c = tr.Range("F" & d + 1).Value
            Case Is < 5
                c = tr.Range("G" & d + 1).Value
            Case Is < 7
                c = tr.Range("H" & d + 1).Value
            Case Is < 10
                c = tr.Range("I" & d + 1).Value
            Case Is < 15
                c = tr.Range("J" & d + 1).Value
            End Select
            
            r = r + c
            
        End If
        
        i = i + 1
    
    Wend
    
Sheets("Simulation").Range("D" & j).Value = r
    
Next j

End Sub


En l'occurence, je compare des prix sur des grilles tarifaires de 8 entreprises, mais voici le résultat que j'obtiens :

- entreprise1 = 560000€
- entreprise2 = 0€
- entreprise3 = 0€
- entreprise4 = 0€
- entreprise5 = 0€
- entreprise6 = 0€
- entreprise7 = 0€
- entreprise8 = 0€

Et si je boucle de 6 à 12, j'aurai bien l'info concernant l'entreprise2, etc.
Pourtant tout boucle bien, puisque si je fais un Sheets(k) à la fin de la dernière boucle, je me retrouve bien sur l'onglet entreprise8.

Si quelqu'un comprend mon erreur, ça m'aiderait beaucoup !
0
Bon en fait, c'était une broutille qui n'a plus rien à voir avec le sujet ouvert...
Il fallait que je réinitialise i à l'intérieur de la boucle j.
0