XL 2019 Boucle sur plusieurs feuilles

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

dadaze

XLDnaute Nouveau
Bonjour,

Après plusieurs échec, je me tourne vers vous pour solutionner mon problème.

Je m'explique.

j'ai créé une macro pour boucler sur plusieurs feuilles et sur le principe ça fonctionne mais je souhaite boucler à partir de la feuille active plus sur les autres 5 suivantes.

Et c'est là ou se situe mon souci.

En effet, pour l' exemple si ma feuille active est en 3ième position en partant de la gauche lorsque je lance ma macro elle boucle à partir du 1er onglet.

Le module se nomme copie_tansfert

Je ne comprends pas.

Je joins le dossier.

si l'un d'entre vous pourrait m'aider, je l'en remercie par avance.

Bien cordialement
 

Pièces jointes

Bonjour Dadaze,
Pour traiter les 5 feuilles consécutives de la feuille courante, vous pouvez faire :
VB:
Sub TraitementSurLesCinqFeuilles()
Dim IndexPageCourante%, IndexMax%, DernierIndex%, N%
IndexPageCourante = ActiveSheet.Index                           ' Numéro de la page courante
IndexMax = ActiveWorkbook.Sheets.Count                          ' Numéro de la dernière feuille
DernierIndex = Application.Min(IndexPageCourante + 4, IndexMax) ' Au cas où on est à moins de 5 feuilles de la dernière
For N = IndexPageCourante To DernierIndex                       ' Pour les 5 feuilles concernées
    ' Votre macro
Next N
End Sub
En remplaçant le ligne "Votre macro" par votre macro de traitement.
 

Pièces jointes

Bonjour Dadaze,
Pour traiter les 5 feuilles consécutives de la feuille courante, vous pouvez faire :
VB:
Sub TraitementSurLesCinqFeuilles()
Dim IndexPageCourante%, IndexMax%, DernierIndex%, N%
IndexPageCourante = ActiveSheet.Index                           ' Numéro de la page courante
IndexMax = ActiveWorkbook.Sheets.Count                          ' Numéro de la dernière feuille
DernierIndex = Application.Min(IndexPageCourante + 4, IndexMax) ' Au cas où on est à moins de 5 feuilles de la dernière
For N = IndexPageCourante To DernierIndex                       ' Pour les 5 feuilles concernées
    ' Votre macro
Next N
End Sub
En remplaçant le ligne "Votre macro" par votre macro de traitement.
Mille merci je vais tester
 
Re,
@fanfan38
Si la feuille active est dans les 4 dernières alors il y a erreur.
Par ex dans la PJ avec 103 feuilles, si la feuille active est la 100ème alors il y aura erreur sur la feuille 104 car elle n'existe pas.
D'où la sécurité :
VB:
DernierIndex = Application.Min(IndexPageCourante + 4, IndexMax)
 
- 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

Retour