sélectionner l'onglet actif et tous les autres à droite

recoverybis

XLDnaute Nouveau
bonjour,

je viens vers vous car j'ai besoin de l'aide des plus aguerris afin de résoudre mon problème.
voilà, je gère un fichier livraison de repas ce dernier est simplement un calendrier de l'année en cours organisé en semaine Exemple semaine 1 du tant au tant ainsi de suite jusqu'à la semaine 52 j'interviens en permanence en fonction de nouveaux bénéficiaires, de suspensions passagères voire d'arrêt total. les modifications impactent la semaine en cours ou se chevauchent sur plusieurs semaines exemple: interruption des livraison de la semaine 31 à 34 jusque présent aucun problème puisque je sélectionne manuellement les fichiers concernés.
ça se corse entre autre lorsque je dois faire face par exemple à un arrêt définitif. je m'explique sachant que dès le début de l'année tous les bénéficiaires sont référencés et apparaissent dans tous les onglets à savoir de la semaine 1 à la semaine 52 selon les détails suivants: livraison un tel du lundi au dimanche un autre du lundi au mercredi...... donc si l'un des intéressés souhaite l'arrêt total de la prestation en Semaine 4 je dois intervenir simultanément dans l' onglet actif jusqu'à l'onglet 52 afin de préciser que dorénavant, il ne bénéficiera plus d'aucune livraison. bien sûr, il est toujours possible de faire une sélection manuel mais trop fastidieuse lorsque la sélection concerne plus d'une quarantaine d'onglets, alors existe t-il une macro qui permette de sélectionner l'onglet actif est ceux situés à sa droite ?

à toute fin utile, je joins le fichier.

merci, de votre aide.

cordialement.
 

Pièces jointes

  • DateSemaine.xlsm
    445.8 KB · Affichages: 24

Paf

XLDnaute Barbatruc
Bonjour,

existe t-il une macro qui permette de sélectionner l'onglet actif est ceux situés à sa droite ?


En tête de module:
Code:
Public TIndex() As Integer
pour sélectionner :
VB:
Sub SelectPages()
Dim i As Integer, x As Integer
ReDim TIndex(Worksheets.Count - ActiveSheet.Index)
For i = ActiveSheet.Index To Worksheets.Count
    TIndex(x) = i
    x = x + 1
Next
Worksheets(TIndex).Select
End Sub

pour désélectionner :
VB:
Sub DeSelectPages()
Worksheets(TIndex).Select Replace:=False
Worksheets(TIndex(0)).Select
End Sub

A+
 

recoverybis

XLDnaute Nouveau
Bonjour,




En tête de module:
Code:
Public TIndex() As Integer
pour sélectionner :
VB:
Sub SelectPages()
Dim i As Integer, x As Integer
ReDim TIndex(Worksheets.Count - ActiveSheet.Index)
For i = ActiveSheet.Index To Worksheets.Count
    TIndex(x) = i
    x = x + 1
Next
Worksheets(TIndex).Select
End Sub

pour désélectionner :
VB:
Sub DeSelectPages()
Worksheets(TIndex).Select Replace:=False
Worksheets(TIndex(0)).Select
End Sub

A+
je te remercie vivement d'avoir consacré un peu de ton temps afin de m'aider.

bien cordialement.
 

Discussions similaires