Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boucle avec variale alphanumérique

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

D

djkiller49

Guest
Bonjour les grands maîtres d'Excel,

Voici mon problème : 🙁
- J'ai 4 feuilles : SEM1, SEM2, SEM3 et SEM4 (attention, l'ordre peut varier et il peut y avoir d'autres feuilles que "SEM" dans mon fichier final. Il faut donc travailler avec le nom des feuille).
- Je voudrais sélectionner la feuille SEM1 et écrire en B2 la valeur TEST1.
- Je voudrais sélectionner la feuille SEM2 et écrire en B2 la valeur TEST2.
- Je voudrais sélectionner la feuille SEM3 et écrire en B2 la valeur TEST3.
- Je voudrais sélectionner la feuille SEM4 et écrire en B2 la valeur TEST4.

Dans ma logique, cela donne un truc du genre :
numero = 1
semaine= "SEM" + numero

While numero <= 4
Sheets(semaine).Select
Cell("B2") = "TEST" + numero
numero = numero + 1
Wend


Maintenant il reste a l'écrire avec le bon langage VBA 🙂
 

Pièces jointes

Bonsoir.
Ça m'a l'ait pas mal comme ça sauf que ça peut s'écrire plus court :
VB:
Dim N As Long
For N = 1 To 4: Worksheets("SEM" & N).[B2].Value = "TEST" & N: Next N


Tout d'abord bravo pour la rapidité Dranreb 🙂


En utilisant votre syntaxe, j'arrive à ça et ça fonctionne :
Dim numero As Long
Dim semaine As String

numero = 1
semaine = "SEM" & numero
While numero <= 4
Sheets("SEM" & numero).Select
Range("B2").Value = "TEST" & numero
numero = numero + 1
Wend

Mais mon exemple est une version simplifié de mon besoin alors j'aurais juste voulu une correction de ma syntaxe si c'est possible 😉
Quelle syntaxe pour cette commande : Sheets(semaine).Select
 
Mais je ne vois rien d'anormal dans ce que vous avez écrit, sauf peut être les '+' pour la concaténation: '&' serait préférable.

Même pas me temps d'éditer ma réponse... Vraiment vraiment trop rapide🙂😛😀

Quelle syntaxe pour intégrer ma variable "semaine" dans cette commande :
Sheets(semaine).Select ? (cela ne fonctionne pas).
 
Éviter les Select et Selection dans les macros.
Pour éviter des répétitions d'expressions, affectez les plutôt par des Set à des variables déclarées As Workbook, Worksheet, Range etc.
Et évitez autant que possible de consulter une collection sans préciser son propriétaire.
Jamais de Range sans expression WorkSheet. devant, jamais de Worksheets(x) sans préciser de quel Workbook. devant.
 
Je comprends l'idée générale.
Un grand grand merci Dranred pour votre coup de main.
Bravo pour la rapidité et l'efficacité.
Longue vie aux maîtres Excel 🙂
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
9
Affichages
2 K
Anaelle_bb
A
M
Réponses
5
Affichages
2 K
V
Réponses
0
Affichages
1 K
VBAProject
V
P
Réponses
10
Affichages
2 K
Pozaec
P
D
Réponses
1
Affichages
2 K
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…