Mise à jour de cellule sur plusieurs onglets simultanément et indépendamment
Fermé
snake211
Messages postés
10
Date d'inscription
jeudi 14 novembre 2019
Statut
Membre
Dernière intervention
10 novembre 2021
-
13 juil. 2021 à 13:31
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 13 juil. 2021 à 16:49
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 13 juil. 2021 à 16:49
A voir également:
- Mise à jour de cellule sur plusieurs onglets simultanément et indépendamment
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise a jour kindle - Guide
- Mise a jour windows 7 - Accueil - Mise à jour
4 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
13 juil. 2021 à 14:38
13 juil. 2021 à 14:38
Bonjour
Avec macro
Le code est dans chaque module des feuilles à traiter
https://mon-partage.fr/f/kfVKl6C0/
Cdlmnt
Avec macro
Le code est dans chaque module des feuilles à traiter
https://mon-partage.fr/f/kfVKl6C0/
Cdlmnt
snake211
Messages postés
10
Date d'inscription
jeudi 14 novembre 2019
Statut
Membre
Dernière intervention
10 novembre 2021
13 juil. 2021 à 15:40
13 juil. 2021 à 15:40
Merci ccm81,
Par contre ca ne marche que pour l'onglet "Principal". Par contre en changeant dans les autres onglet rien ne se passe. Mais grâce à ton code j'ai trouvé la solution. Donc merci beaucoup!!!
En fait dans le code de d'appellation des variables il manque une variable:
Option Explicit
Public Const FP = "Principal"
Public Const celmoisFP = "B2"
Public Const celmoisF = "A1" 'dans les autres onglets (AAA,BBB et CCC) la cellule à changer est dans A1 et non B2
Public Const FA = "AAA"
Public Const FB = "BBB"
Public Const FC = "CCC"
Public Const celmoisFX = "A1"
et dans les onglets secondaires, l'Intersection est différence ainsi que la mise à jour de l'onglet principal:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim m As String
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range(celmoisSecondaire)) Is Nothing Then 'à ce niveau
Application.EnableEvents = False
m = Target.Value
Sheets(FP).Range(celmoisFP).Value = m 'Et à ce niveau
Sheets(FB).Range(celmoisFX).Value = m
Sheets(FC).Range(celmoisFX).Value = m
Application.EnableEvents = True
End If
End Sub
Merci bcp pour ton aide rapide
Par contre ca ne marche que pour l'onglet "Principal". Par contre en changeant dans les autres onglet rien ne se passe. Mais grâce à ton code j'ai trouvé la solution. Donc merci beaucoup!!!
En fait dans le code de d'appellation des variables il manque une variable:
Option Explicit
Public Const FP = "Principal"
Public Const celmoisFP = "B2"
Public Const celmoisF = "A1" 'dans les autres onglets (AAA,BBB et CCC) la cellule à changer est dans A1 et non B2
Public Const FA = "AAA"
Public Const FB = "BBB"
Public Const FC = "CCC"
Public Const celmoisFX = "A1"
et dans les onglets secondaires, l'Intersection est différence ainsi que la mise à jour de l'onglet principal:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim m As String
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range(celmoisSecondaire)) Is Nothing Then 'à ce niveau
Application.EnableEvents = False
m = Target.Value
Sheets(FP).Range(celmoisFP).Value = m 'Et à ce niveau
Sheets(FB).Range(celmoisFX).Value = m
Sheets(FC).Range(celmoisFX).Value = m
Application.EnableEvents = True
End If
End Sub
Merci bcp pour ton aide rapide
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
13 juil. 2021 à 15:46
13 juil. 2021 à 15:46
Exact
un copier/coller intempestif !!
dans les modules de feuille l'erreur était ici
If Not Intersect(Target, Range(celmoisFP)) Is Nothing Then
à modifier comme ça
If Not Intersect(Target, Range(celmoisFX)) Is Nothing Then
Cdlmnt
un copier/coller intempestif !!
dans les modules de feuille l'erreur était ici
If Not Intersect(Target, Range(celmoisFP)) Is Nothing Then
à modifier comme ça
If Not Intersect(Target, Range(celmoisFX)) Is Nothing Then
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
13 juil. 2021 à 15:53
13 juil. 2021 à 15:53
RQ. Tu peux ajouter cette procedure dans le module 1 qui te permettra de reinitialiser la prise en compte d'un changement en cas de plantage
Public Sub reinit()
Application.EnableEvents = True
End Sub
Cdlmnt
Public Sub reinit()
Application.EnableEvents = True
End Sub
Cdlmnt
snake211
Messages postés
10
Date d'inscription
jeudi 14 novembre 2019
Statut
Membre
Dernière intervention
10 novembre 2021
13 juil. 2021 à 16:41
13 juil. 2021 à 16:41
Ben oui, c'est redondant et stupide ce que j'ai fait...
Je me retrouve avec 1 cellule qui est liée à 2 noms variables... n'importe quoi...
Merci, c'est pour ca que tu m'as proposée le Reinit()?
Sinon je ne comprends pas très bien cette procédure
Je me retrouve avec 1 cellule qui est liée à 2 noms variables... n'importe quoi...
Merci, c'est pour ca que tu m'as proposée le Reinit()?
Sinon je ne comprends pas très bien cette procédure
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
13 juil. 2021 à 16:49
13 juil. 2021 à 16:49
Si ça plante en cours d'exécution, l'instruction
Application.EnableEvents = False
inhibe l'exécution de la procedure Change
donc plus de réaction à un changement
et
Application.EnableEvents = True
permet de re-activer la procedure Change
Tu as aussi la solution de fermer excel et de le ré-ouvrir
Cdlmnt
Application.EnableEvents = False
inhibe l'exécution de la procedure Change
donc plus de réaction à un changement
et
Application.EnableEvents = True
permet de re-activer la procedure Change
Tu as aussi la solution de fermer excel et de le ré-ouvrir
Cdlmnt