Même macro sur plusieurs onglet d'un classeur
Fermé
Camillou93
Messages postés
3
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
31 mai 2013
-
Modifié par Camillou93 le 30/05/2013 à 12:33
Camillou93 Messages postés 3 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 31 mai 2013 - 31 mai 2013 à 10:47
Camillou93 Messages postés 3 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 31 mai 2013 - 31 mai 2013 à 10:47
A voir également:
- Même macro sur plusieurs onglet d'un classeur
- Rouvrir un onglet fermé - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Jitbit macro recorder - Télécharger - Confidentialité
3 réponses
.Grincheux.
Messages postés
211
Date d'inscription
vendredi 10 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2016
84
Modifié par .Grincheux. le 30/05/2013 à 14:00
Modifié par .Grincheux. le 30/05/2013 à 14:00
Bonjour Camille,
Tu ne peux avoir qu'une seule fonction Workbook_beforeSave(...), d'où l'erreur lorsque tu la recopies en plusieurs fois.
Pour enregistrer la date sur chaque feuille, c'est le bloc de ligne suivant qu'il faut recopier plusieurs fois :
Ce qui donnerait quelque chose comme ceci, en optimisant un peu :
Par contre, cette formule va mettre à jour les dates de toutes les feuilles, même celles qui n'ont pas été modifiées.
Pour y remédier, il vaut peut-être mieux que tu utilises la fonction suivante, à recopier dans chaque feuille :
Bonne journée !
Tu ne peux avoir qu'une seule fonction Workbook_beforeSave(...), d'où l'erreur lorsque tu la recopies en plusieurs fois.
Pour enregistrer la date sur chaque feuille, c'est le bloc de ligne suivant qu'il faut recopier plusieurs fois :
With Worksheets("LYON") .Range("C3") = Now() End With
Ce qui donnerait quelque chose comme ceci, en optimisant un peu :
Private Sub Workbook_beforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Worksheets("LYON").Range("C3") = Now() Worksheets("NANTES").Range("C3") = Now() Worksheets("PARIS").Range("C3") = Now() 'Etc. End Sub
Par contre, cette formule va mettre à jour les dates de toutes les feuilles, même celles qui n'ont pas été modifiées.
Pour y remédier, il vaut peut-être mieux que tu utilises la fonction suivante, à recopier dans chaque feuille :
Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Range("C3") = Now() End Sub
Bonne journée !
Camillou93
Messages postés
3
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
31 mai 2013
Modifié par Camillou93 le 30/05/2013 à 15:14
Modifié par Camillou93 le 30/05/2013 à 15:14
Merci vraiment beaucoup Grincheux de t'être penché sur mon cas !!! C'est vraiment chouette le concept de forum !!
Alors j'ai fait ce que tu m'as dit, j'ai utilisé le nouveau code que tu m'as donné et dans la fenêtre de projet, je l'ai copié sur chaque feuille et j'ai effacer le code de la feuille ThisWorkBook.
Et oui ça marche !!!! enfin presque....
La date se met à jour mais pas quand je fais cmd + S mais quand je me mets sur la cellule et que je fais Suppr.
Donc sur le principe, c'est bon, mais ça ne se fait pas automatiquement, il faut que j'y pense...
As-tu un explication/solution ?
Alors j'ai fait ce que tu m'as dit, j'ai utilisé le nouveau code que tu m'as donné et dans la fenêtre de projet, je l'ai copié sur chaque feuille et j'ai effacer le code de la feuille ThisWorkBook.
Et oui ça marche !!!! enfin presque....
La date se met à jour mais pas quand je fais cmd + S mais quand je me mets sur la cellule et que je fais Suppr.
Donc sur le principe, c'est bon, mais ça ne se fait pas automatiquement, il faut que j'y pense...
As-tu un explication/solution ?
.Grincheux.
Messages postés
211
Date d'inscription
vendredi 10 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2016
84
30 mai 2013 à 18:42
30 mai 2013 à 18:42
Normalement, la date se met à jour dès que le contenu d'une cellule est modifié. Ce n'est pas le cas ?
J'imaginais que l'objectif pour toi était d'enregistrer la date de la dernière modification. Ma solution ne fonctionne pas, en effet, si tu ouvres le fichier puis l'enregistre sans rien modifier.
J'imaginais que l'objectif pour toi était d'enregistrer la date de la dernière modification. Ma solution ne fonctionne pas, en effet, si tu ouvres le fichier puis l'enregistre sans rien modifier.
Camillou93
Messages postés
3
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
31 mai 2013
31 mai 2013 à 10:47
31 mai 2013 à 10:47
Bonjour Bonjour i
Tu avais très bien imaginé !! C'est exactement ce que je voulais faire ! Saufe que je n'avais absolument pas envisagé que la date pouvait se mettre à jour juste en modifiant une cellule. C'est encore mieux !!
En fait, je n'avais compris et donc pas essayé de modifié une cellule....
Bref, c'est génial !
Un grand merci à toi !!!!
Tu avais très bien imaginé !! C'est exactement ce que je voulais faire ! Saufe que je n'avais absolument pas envisagé que la date pouvait se mettre à jour juste en modifiant une cellule. C'est encore mieux !!
En fait, je n'avais compris et donc pas essayé de modifié une cellule....
Bref, c'est génial !
Un grand merci à toi !!!!