Une boucle ?

Patchi06

XLDnaute Nouveau
Bonjour.

Voilà un certain que je cherche sur les forums une approche de solution.
Quelqu'un pourrait-il me mettre sur la voie pour convertir ce début de code en boucle ? (Sachant que je doit arriver à "sfz" et affecter à chaque variable les valeurs qui vont jusqu'à B214)

Dim sfa1 As String, sfa2 As String, sfa3 As String, sfa4 As String, sfa5 As String, sfa6 As String, sfa7 As String
Dim sfb1 As String
Dim sfc1 As String, sfc3 As String
Dim sfe1 As String, sfe2 As String
Dim sff1 As String, sff2 As String, As String, sff3 As String, sff4 As String, sff5 As String
...
Dim sfz1 As String, sfz2 As String, sfz3 As String

sfa1 = TabDM.Range("B2").Value
sfa2 = TabDM.Range("B3").Value
sfa3 = TabDM.Range("B4").Value
sfa4 = TabDM.Range("B5").Value
sfa5 = TabDM.Range("B6").Value
sfa6 = TabDM.Range("B7").Value
sfa7 = TabDM.Range("B8").Value

sfb1 = TabDM.Range("B9").Value

sfc1 = TabDM.Range("B10").Value
sfc2 = TabDM.Range("B11").Value
sfc3 = TabDM.Range("B12").Value

sfe1 = TabDM.Range("B13").Value
sfe2 = TabDM.Range("B14").Value

...
sfz1 = TabDM.Range("B212").Value
sfz2 = TabDM.Range("B213").Value
sfz3 = TabDM.Range("B214").Value

Merci d'avance !
 

job75

XLDnaute Barbatruc
Re : Une boucle ?

Bonjour Patchi06,

Vous voulez créer une variable VBA pour chaque cellule B2 à B214, bonjour les dégâts.

Avec ce code :

Code:
Dim tablo
tablo = TabDM.[B2:B214]
vous créez un tableau VBA contenant les valeurs de la plage.

Vous pouvez ensuite aller récupérer n'importe quelle valeur du tableau :

Code:
n = 5
MsgBox tablo(n, 1)
A+
 

job75

XLDnaute Barbatruc
Re : Une boucle ?

Re,

dans tablo() le 2ème terme doit toujours être 1 car il n'y a qu'une colonne.

Code:
n = 5
Selection.AutoFilter Field:=2, Criteria1:= tablo(n, 1)
n = 6
Selection.AutoFilter Field:=2, Criteria1:= tablo(n, 1)
Nota : en VBA il est généralement inutile de sélectionner, seuls les débutants font ça.

A+
 

Patchi06

XLDnaute Nouveau
Re : Une boucle ?

Merci pour ces pistes qui m'ont permis d'avancer.
Mon nouveau souci, se situe au niveau de l'enchênement : ma boucle fonctionne sur la première série ("Catégorie") mais n'enchaine pas sur l'ensemble des lignes.
Je pense qu'un "For each" s'impose mais comment le "raccrocher" à mes "Tablo" ?
ps : Je supprimerai les "sélect/sélectionner" c'est promis !

Merci pour votre aide.
 

Pièces jointes

  • Classeur72.xls
    85 KB · Affichages: 56
  • Classeur72.xls
    85 KB · Affichages: 78
  • Classeur72.xls
    85 KB · Affichages: 66

Discussions similaires

Réponses
25
Affichages
1 K
Réponses
26
Affichages
1 K

Statistiques des forums

Discussions
312 491
Messages
2 088 888
Membres
103 982
dernier inscrit
krakencolas