Microsoft 365 Remplissage automatique d'une feuille à l'autre

Nonoo

XLDnaute Nouveau
Bonjour,

Je suis novice et je souhaite mettre en place un fichier Excel comportant plusieurs feuilles. La 1ere feuille serait la feuille principale. Les feuilles suivantes serait une copie de la première feuille à laquelle je masquerai certaines colonnes.

J’ai créé le fichier en PJ « Test1.xlsm ». Depuis la 1ere feuille, lorsque je modifie une cellule celle-ci se met bien à jour sur les autres. J’ai utilisé sur la 1ere feuille le code :

Private Sub Worksheet_Change(ByVal Target As Range)

Sheets("Conformité").Range("A1:O1000").Value = Sheets("Fichier général").Range("A1:O1000").Value

Sheets("Sécurité").Range("A1:O1000").Value = Sheets("Fichier général").Range("A1:O1000").Value

Sheets("Câblage").Range("A1:O1000").Value = Sheets("Fichier général").Range("A1:O1000").Value

End Sub

Le problème est que :
  • lorsque je modifie la feuille 2, 3, 4, cela met bien à jour les suivantes mais je n’ai pas trouvé comment mettre à jour la (les) précédentes.
  • J’ai constaté que si en plus de masquer certaines colonnes j’ajoute un filtre à une colonne, j’ai des erreurs voir « Test2.xlsm », feuille « câblage »
Si quelqu’un peut m’aider ça serait super gentil.

Merci de votre aide
 

Pièces jointes

  • Test1.xlsm
    21.8 KB · Affichages: 3
  • Test2.xlsm
    46.7 KB · Affichages: 0

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nonoo, et bienvenu sur XLD,
Pour le code utilisez la balise </> ( à droite de l'icone GIF), c'est plus lisible. :)
Pour la question, je n'ai pas bien compris.
lorsque je modifie la feuille 2, 3, 4, cela met bien à jour les suivantes mais je n’ai pas trouvé comment mettre à jour la (les) précédentes.
Voulez vous remettre à jour toutes les feuilles suite à une modification de n'importe quelle cellule de n'importe quelle feuille ?
Si oui, mettez dans Thisworkbook :
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
On Error GoTo Fin: Dim Nom$, F
Application.EnableEvents = False
Nom = ActiveSheet.Name
For Each F In Worksheets
    If F.Name <> Nom Then
        Sheets(F.Name).Range("A1:O1000").Value = Sheets(Nom).Range("A1:O1000").Value
    End If
Next F
Fin:
Application.EnableEvents = True
End Sub
Toutes les feuilles seront toujours à jour.
J’ai constaté que si en plus de masquer certaines colonnes j’ajoute un filtre à une colonne, j’ai des erreurs voir « Test2.xlsm », feuille « câblage »
Pouvez vous préciser car je ne suis pas arrivé à reproduire le problème.
 

Pièces jointes

  • Test1 .xlsm
    19.7 KB · Affichages: 1

Nonoo

XLDnaute Nouveau
Bonsoir sylvanu,

Merci beaucoup c’est exactement ce que je voulais faire 🙏

Le problème que je rencontre c’est que lorsqu’un filtre est présent sur une des feuilles :
  • Je ne peux pas modifier une cellule de cette colonne depuis une autre feuille (ex : dans la feuille « Câblage » je met un filtre n’affichant que les Nok de la colonne « Câblage ». Je me mets sur la feuille « fichier général » et je modifie dans la colonne « Câblage » un Nok par un Ok)
  • Je ne peux pas insérer de ligne depuis une autre feuille
Merci de votre aide
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 069
Messages
2 105 281
Membres
109 319
dernier inscrit
Rikkoula