VBA - Références+i

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

GBI

XLDnaute Occasionnel
Bonjour les XLents membres de ce site 🙂

Je me permets de solliciter votre aide pour un problème qui à mon avis ne doit pas etre si compliqué (pourtant je ne trouve pas la réponse)
En VBA, je souhaites effectuer une opération pour les i valeurs de 1 à 10

Code:
Ajout1 = "Etudes"
Ajout2 = "Realisation"
Ajout3 = "SAV"
Ajout4 = "Projet"
for i = 1 to 4
Action

Et je voudrais donc pouvoir mettre dans mon module par exemple:
Sheets(Ajout & i).Activate
Pour i= 1 cela correspondrait donc à Sheets("Etudes").Activate

Mais cela ne fonctionne pas, au mieux j'arrive à avoir la valeur du "i" active
Avez-vous des idées?
 
Re : VBA - Références+i

Bonjour les XLents membres de ce site 🙂

Je me permets de solliciter votre aide pour un problème qui à mon avis ne doit pas etre si compliqué (pourtant je ne trouve pas la réponse)
En VBA, je souhaites effectuer une opération pour les i valeurs de 1 à 10

Code:
Ajout1 = "Etudes"
Ajout2 = "Realisation"
Ajout3 = "SAV"
Ajout4 = "Projet"
for i = 1 to 4
Action

Et je voudrais donc pouvoir mettre dans mon module par exemple:
Sheets(Ajout & i).Activate
Pour i= 1 cela correspondrait donc à Sheets("Etudes").Activate

Mais cela ne fonctionne pas, au mieux j'arrive à avoir la valeur du "i" active
Avez-vous des idées?

Code:
dim Ajout(4)
Ajout(1) = "Etudes"
Ajout(2) = "Realisation"
Ajout(3) = "SAV"
Ajout(4) = "Projet"
for i = 1 to 4
Action
Sheets(Ajout(i)).Activate
 
Re : VBA - Références+i

Bonjour,

tu ne peux pas faire comme ça, dans ta macro, "Ajout" correspond à une variable qui n'existe pas... quand tu fais "Ajout & i", ca ne signifie pas qu'il va faire Ajout1 ou Ajout2... ca signifie qu'il prend la valeur de Ajout et qu'il rajoute la valeur de i à la fin de la chaine de caractère... ex : Ajout = "Julien" => Ajout & i = "Julien1" (si i = 1).
Si tu veux parcourir plusieurs feuilles dans une boucle, je te conseille alors de faire un tableau : tu déclares ton tableau (dim tableau(3)) tu mets une valeur pour chaque indice du tableau (tableau(0)="Ajout1" etc.) et ensuite tu parcours le tableau (for i =0 to ubound(tableau) [...] sheets(tableau(i)).activate ).
 
Re : VBA - Références+i

Habitude m'a devancé 😛

je rajouterais que si tu mets les mots clés "Option Explicit" en début de module, Excel te dirait tout de suite que la variable Ajout n'existe pas et qu'il y a une erreur. Et tu verrais que tu as fait une erreur...
 
Re : VBA - Références+i

Bonjour le fil, GBI

L'exemple suivant, utilise un tableau de String (chaîne de caractères)
Code:
Dim Ajout(1 To 10) As String
 
Ajout(1) = "Etudes"
Ajout(2) = "Realisation"
Ajout(3) = "SAV"
Ajout(4) = "Projet" 
[B][COLOR=green]' ...[/COLOR][/B] 
Sheets(Ajout(1)).Activate
A plus

Edition: Bonjour solquagerius ! On s'est croisés 🙂
 
Re : VBA - Références+i

Merci à tous de vos réponses rapides (à défaut que la mienne le soit)
J'ai testé le tableau virtuel c'est un peu trop abstrait pour moi 😛
Les deux autres fonctions proposées fonctionnent à merveille !
Encore merci 🙂
 
- 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

  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
817
Retour