macro qui boucle sans fin

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

Blafi

XLDnaute Occasionnel
Bonjour à tous et bonne journée,

J'ai un petit pb que je vous expose :

J'ai construit un classeur contenant une feuille Menu et des feuilles avec des noms de personnes. Chaque feuille de personne contient un tableau à remplir en fonction de la semaine.
Je crée donc pour chaque nouvelle semaine d'utilisation un nouveau classeur à partir de mon classeur de base et en en changeant le nom au moment de l'enregistrer;
Au moment de créer ce nouveau classeur, je choisis la date dans la feuille Menu (cellule J13) grace à une liste de choix et je voudrais que cette date se reporte dans chaque feuille de personne dans la cellule E2 afin que les entétes de mes tableaux, par un calcul avec la cellule E2, affiche les jours de la semaine (lundi 9/10/06 par exemple).

Je ne peux calculer le contenu des entètes de tableau directement à partir de la date entrée dans la feuille menu à la cellule J13 car ces feuilles sont destinées à être exportées individuellemnt dans un autre classeur et ceci crée une copie avec liaison entre mon classeur et ce nouveau classeur (les utilisateurs ne possédant que ce nouveau classeur et non le mien).

J'ai donc écrit une macro (dans la feuille menu) qui récupère la date et est sensée mettre cette date en E2 de chaque feuille.
Problème, la macro que j'ai écrit tourne en boucle et je n'arrive pas à savoir pourquoi !

Je joins un exemplaire simplifié de mon classeur, la macro en question est une "wooksheet_change" de la feuille Menu..

Quelqu'un peut-il me dire pourquoi ça boucle sans fin..
Merci d'avance et bonne journée.
 

Pièces jointes

Re : macro qui boucle sans fin

Bonjour Blafi,
Essaye avec ce code.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sel As Range
Set Sel = Range("j13")
If Not Application.Intersect(Sel, Range(Target.Address)) Is Nothing Then
For i = 2 To Sheets.Count
Sheets(i).Activate
ActiveSheet.Unprotect "machin"
ActiveSheet.Cells(2, 5) = Format(Sheets("Menu").Cells(13, 10))
ActiveSheet.Protect "machin"
Next
End If
End Sub
Salut Yves
 
Dernière édition:
- 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

Réponses
3
Affichages
256
Réponses
3
Affichages
222
Réponses
2
Affichages
240
Réponses
4
Affichages
586
Réponses
7
Affichages
553
Retour