Lancemant automatique d'une macro
Résolu
Pierrot94
-
Pierrot94 -
Pierrot94 -
Bonjour,
Souhaitant développer un outil "semi-automatique" pour mon équipe administrative afin de limiter les saisies et ainsi les possibilités d'erreur, mes connaissance en Excel sont insuffisantes, je dois passer aux macros que je ne maitrise pas du tout.
Sur Excel 2010, un documents de 22 feuilles dont la 1ère, le sommaire avec un tableau récapitulant tous les mois de l'année entre 2 dates saisies manuellement.
Les cellules A1 de chaque feuille sont automatiquement modifiées en fonction des dates du sommaire.
Je souhaite renommer toutes les feuilles au format "mmmm-yy" en fonction des dates en A1 de chacune des feuilles, et pour ce faire voici le code entré dans "ThisWorkbook"
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then: Exit Sub
test = Format(Range("A1"), "mmmm-yy")
ActiveSheet.Name = test
End Sub
Ca fonctionne mais si le sommaire est modifié, les cellule A1 sont également modifiées mais pas le nom des feuilles. Il faut entrer dans chaque cellule A1 (double click), la valider (entrée) pour que la feuille se renomme.
Comment faire pour que les 22 feuilles soient mises à jour en temps réel et automatiquement dès modification du sommaire ?
D'avance un grand merci !
Pierrot94
Souhaitant développer un outil "semi-automatique" pour mon équipe administrative afin de limiter les saisies et ainsi les possibilités d'erreur, mes connaissance en Excel sont insuffisantes, je dois passer aux macros que je ne maitrise pas du tout.
Sur Excel 2010, un documents de 22 feuilles dont la 1ère, le sommaire avec un tableau récapitulant tous les mois de l'année entre 2 dates saisies manuellement.
Les cellules A1 de chaque feuille sont automatiquement modifiées en fonction des dates du sommaire.
Je souhaite renommer toutes les feuilles au format "mmmm-yy" en fonction des dates en A1 de chacune des feuilles, et pour ce faire voici le code entré dans "ThisWorkbook"
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then: Exit Sub
test = Format(Range("A1"), "mmmm-yy")
ActiveSheet.Name = test
End Sub
Ca fonctionne mais si le sommaire est modifié, les cellule A1 sont également modifiées mais pas le nom des feuilles. Il faut entrer dans chaque cellule A1 (double click), la valider (entrée) pour que la feuille se renomme.
Comment faire pour que les 22 feuilles soient mises à jour en temps réel et automatiquement dès modification du sommaire ?
D'avance un grand merci !
Pierrot94
A voir également:
- Lancemant automatique d'une macro
- Réponse automatique thunderbird - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Sommaire automatique word - Guide
1 réponse
Bonjour
L'événement "change" n'est activé que sur une saisie manuelle...
dans le module de la feuille "sommaire"
essaie
Michel
L'événement "change" n'est activé que sur une saisie manuelle...
dans le module de la feuille "sommaire"
essaie
Option Explicit
'--------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Test As String
With ActiveSheet
If .Name <> "sommaire" Then
Test = Format(.Range("A1"), "mmmm-yy")
.Name = Test
End If
End With
End Sub
Michel
Ca ne change rien malheureusement.
L'évènement "change" n'est activé que sur une saisie manuelle.
Quel évènement peut s'activer tout le temps ou seulement à partir de la modification d'une seule cellule dans tout le fichier ?
la macro est à copier dans le module "thisworkbook" et non "sommaire"
excuse moi
Ca fonctionne à partir du moment où on clique sur l'onglet qui se renomme automatiquement.
Génial, le fichier va être testé par l'équipe administrative dès cette semaine !
Merci encore.