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 !

WILFRIED

XLDnaute Impliqué
Bonjour à tous et toutes,


Voila j'ai un petit souci (comme beaucoup) :

Je veux réduire le nombre de ligne de ma macro, pour cela je pensait utilisé une boucle :

J'ai 8 constante : nm_S1 à nm_S8.


Voila ce que je voulait utilisé :

For i = 1 To 8
ActiveSheet.PivotTables(tcd_temp).AddDataField ActiveSheet. _
PivotTables(tcd_temp).PivotFields(nm_S & i), _
'Somme de S' & i, xlSum
Next i

Seulement il me dit :

Erreur de compilation : variable non définit

Ma question est donc : existe-t-il une solution à mon PB ou vais je devoir écrire toutes mes lignes de code ?

Merci d'avance.

A+
 
Bonjour WILFRIED, le Forum,

La solution consiste à rentrer tes valeurs dans un tableau (ici de type string), puis de faire appel à chaque élément du tableau par son indice. Par exemple :
Dim nm_S(1 To 8) As String
Dim
tcd_temp As String
Dim
i As Byte
      tcd_temp = 'TCDBlaBla'
      ' Définition des noms de champ nm_S() par une boucle
      For i = 1 To 8
            nm_S(i) = Choose(i, 'Champ1', 'Champ2', 'Champ3', 'Champ4', _
                                    'Champ5', 'Champ6', 'Champ7', 'Champ8')
      Next i
      ' Bien sûr, à la place de la boucle ci-dessus, on peut aussi
      ' définir ces éléments de façon classique, en faisant :
      ' nm_S(1) = 'Champ1'
      ' nm_S(2) = 'Champ2'
      ' etc...
      ' ...
      ' Ensuite on fait :
      For i = 1 To 8
            ActiveSheet.PivotTables(tcd_temp).AddDataField ActiveSheet. _
            PivotTables(tcd_temp).PivotFields(nm_S(i)), _
            'Somme de S' & i, xlSum
      Next i
Cordialement,
 
- 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

H
Réponses
2
Affichages
2 K
H
N
Réponses
17
Affichages
3 K
ninajams
N
J
Réponses
4
Affichages
2 K
jmten92
J
P
Réponses
6
Affichages
1 K
P
O
Réponses
2
Affichages
926
S
Réponses
3
Affichages
821
S
Retour