[VBA] Déclarer plusieurs variables en boucle
Résolu/Fermé
koobcam
Messages postés
6
Date d'inscription
vendredi 14 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
-
Modifié par koobcam le 15/01/2011 à 12:26
koobcam Messages postés 6 Date d'inscription vendredi 14 janvier 2011 Statut Membre Dernière intervention 25 mars 2011 - 15 janv. 2011 à 12:25
koobcam Messages postés 6 Date d'inscription vendredi 14 janvier 2011 Statut Membre Dernière intervention 25 mars 2011 - 15 janv. 2011 à 12:25
A voir également:
- [VBA] Déclarer plusieurs variables en boucle
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Boucle cmd - Forum Programmation
2 réponses
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
14 janv. 2011 à 19:54
14 janv. 2011 à 19:54
Bonjour,
C'est une variable tableau que tu as besoin, seulement si la taille est variable il faut la mettre avec un redim; :
dim col() as string, c as long
c = ActiveSheet.Range("A1").End(xlToRight).Column
redim col(c)
'ensuite tu utilises l'indice, en reprenant ton code en exemple :
For j = 1 To c
col(j) = Sheets("FeuilleDonnées").Cells(1, j).Value
Next
....PivotFields(col(3))
eric
C'est une variable tableau que tu as besoin, seulement si la taille est variable il faut la mettre avec un redim; :
dim col() as string, c as long
c = ActiveSheet.Range("A1").End(xlToRight).Column
redim col(c)
'ensuite tu utilises l'indice, en reprenant ton code en exemple :
For j = 1 To c
col(j) = Sheets("FeuilleDonnées").Cells(1, j).Value
Next
....PivotFields(col(3))
eric
koobcam
Messages postés
6
Date d'inscription
vendredi 14 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
15 janv. 2011 à 09:39
15 janv. 2011 à 09:39
Bonjour Eric,
Merci pour votre aide : ça marche du tonnerre !
Pouvez-vous s'il vous plaît me ré-expliquer pourquoi il faut déclarer l'élément 'col()' en String puis d'utiliser la fonction 'Redim' en y incluant le numéro d'index de ma dernière colonne utilisée dans le TCD ?
Est-ce que le fait de mettre deux parenthèses dans la déclaration de la variable 'col()' indique qu'elle va accueillir des valeurs d'index différents ?
Encore merci pour votre aide.
>> Ce sujet peut être classé comme résolu.
Merci pour votre aide : ça marche du tonnerre !
Pouvez-vous s'il vous plaît me ré-expliquer pourquoi il faut déclarer l'élément 'col()' en String puis d'utiliser la fonction 'Redim' en y incluant le numéro d'index de ma dernière colonne utilisée dans le TCD ?
Est-ce que le fait de mettre deux parenthèses dans la déclaration de la variable 'col()' indique qu'elle va accueillir des valeurs d'index différents ?
Encore merci pour votre aide.
>> Ce sujet peut être classé comme résolu.
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
15 janv. 2011 à 12:06
15 janv. 2011 à 12:06
Re,
dim col(7) déclare une variable tableau de 8 éléments (de 0 à 7), seulement tu ne peux pas remplacer le 7 par une variable calculée.
Il faut donc le déclarer sans dimension avec dim col() (les () sont là pour indiquer un tableau) et ensuite changer sa dimension avec redim col(c).
Et si ja mais tu diois redimensionner à nouveau et que tu veuilles garder ses valeurs tu mets redim preserve col(c)
C'est à toi de mettre en résolu en haut
eric
dim col(7) déclare une variable tableau de 8 éléments (de 0 à 7), seulement tu ne peux pas remplacer le 7 par une variable calculée.
Il faut donc le déclarer sans dimension avec dim col() (les () sont là pour indiquer un tableau) et ensuite changer sa dimension avec redim col(c).
Et si ja mais tu diois redimensionner à nouveau et que tu veuilles garder ses valeurs tu mets redim preserve col(c)
C'est à toi de mettre en résolu en haut
eric
koobcam
Messages postés
6
Date d'inscription
vendredi 14 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
15 janv. 2011 à 12:25
15 janv. 2011 à 12:25
C'est noté !
Merci Eric pour toutes ces explications et bon WE à vous
Merci Eric pour toutes ces explications et bon WE à vous