Cellules clone dans plusieurs feuilles

Bonjour,

Pas du tout expert d'excel et malgré mes recherches je ne trouve pas de solutions à mon problème.

J'ai un classeur excel avec différentes feuilles.

j'ai mes 15 premières lignes qui sont identiques sur chaque feuilles. (les lignes suivantes sont différentes sur les feuilles)

Voici ce que je voudrai faire.

Lorsque je rempli une valeur dans la feuille 1 A1 : 15 cette valeur 15 soit automatiquement cloné dans la feuille 2 en case A1 ainsi que la feuille 3 A1

et inversement.

exemple je tape 15 dans feuille 1 A1 - feuille 2 A1 voit la valeur 15 idem pour feuille 3 - 4 ....

et si je tape 241 dans feuille 3 A1 - la feuille 1 A1 voit sa valeur modifié automatiquement en 241 idem pour la case a1 de toute les autres feuilles.

Suis je clair ?

Merci pour votre aide

Bonsoir Arnaud77 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Concernant votre demande, voici un fichier exemple de ce qu'on peut faire
Code dans ThisWorkbook -> ALT+F11 pour le voir

Merci pour votre participation

Cordialement

whaou ! merci beaucoup pour ce code qui fonctionne très bien pour toutes les cellules de la feuille.

est-il possible de définir juste quelques cellules ?

Re,

Dans ce cas, il faut utiliser Intersect()

A+

merci beaucoup pour votre aide.

Je suis vraiment novice et essaye de comprendre comment m'y prendre.

Je comprends qu'il faut utiliser la fonction Intersect() dans le code ? si oui à quel endroit dans le code ? entre les () je rentre les cellules que je souhaite cloner ?

Aussi, si j'ai 12 feuilles et que je veux appliquer cette macro seulement au 5 premières feuilles, comment dois-je m'y prendre ?

Bonjour,

Lorsqu'on est novice (on l'a tous été ) il ne faut pas hésiter à se servir des moteurs de recherche
https://www.google.com/search?q=vba+intersect

Voici un résultat
https://forum.excel-pratique.com/astuces/vba-utilisation-de-la-methode-intersect-1314

A+

OUI ... effectivement c'est ce que j'ai fait ! Mais je ne comprend pas du tout ce que je dois faire .

Si je veux cloner des cellules ciblées (cellule C2 à C10 dans les feuilles 1 2 3 4, mais pas les 5 6 7 ...)

je dois placer le code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C2:C10")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub

dans celui là ? et comment préciser les feuilles concernées ?

Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim Sht As Worksheet
  ' Désactiver les évènements le temps de faire les modifications
  Application.EnableEvents = False
  ' Pour chaque feuille
  For Each Sht In ThisWorkbook.Sheets
    ' Si feuille différente de l'actuelle
    If Sht.Name <> Sh.Name Then
      Sht.Range(Target.Address) = Target
    End If
  Next Sht
  ' Réactiver les évènements
  Application.EnableEvents = True
End Sub

Encore merci pour votre aide, qui me permet de progresser.

Bonjour,

Attention à vos demandes SVP !

Initialement, il s'agissait de cloner des cellules entre feuilles : réponse donnée

Puis "est-il possible de définir juste quelques cellules ?", il faut utiliser Intersect()

Et maintenant "Si je veux cloner des cellules ciblées (cellule C2 à C10 dans les feuilles 1 2 3 4, mais pas les 5 6 7 ...)"

Savez-vous ce que vous voulez

Voici une possibilité avec le code modifié

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim Sht As Worksheet, ShtOk As String
  ' Définir les feuilles à traiter
  ShtOk = "Feuil1,Feuil2,Feuil3,Feuil4"
  ' Si cellule modifiée n'est pas dans la plage définie
  If Application.Intersect(Target, Range("C2:C10")) Is Nothing Then Exit Sub
  ' Désactiver les évènements le temps de faire les modifications
  Application.EnableEvents = False
  ' Pour chaque feuille
  For Each Sht In ThisWorkbook.Sheets
    ' Si la feuille fait partie des feuilles à traiter et n'est pas l'actuelle
    If Sht.Name <> Sh.Name And InStr(1, ShtOk, Sht.Name) > 0 Then
      Sht.Range(Target.Address) = Target
    End If
  Next Sht
  ' Réactiver les évènements
  Application.EnableEvents = True
End Sub

A+

Bonjour,

Bon effectivement j'ai surement pas été assez clair. Mais difficile de se rendre compte de ce qui est possible ou non.

Du coup j'ai tapé ce code :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim Sht As Worksheet, ShtOk As String
  ' Définir les feuilles à traiter
  ShtOk = "ACCEUIL,BARRES,TOLES,TUBES"
  ' Si cellule modifiée n'est pas dans la plage définie
  If Application.Intersect(Target, Range("C2,C3,C5,C6,C8,C9,C10")) Is Nothing Then Exit Sub
  ' Désactiver les évènements le temps de faire les modifications
  Application.EnableEvents = False
  ' Pour chaque feuille
  For Each Sht In ThisWorkbook.Sheets
    ' Si la feuille fait partie des feuilles à traiter et n'est pas l'actuelle
    If Sht.Name <> Sh.Name And InStr(1, ShtOk, Sht.Name) > 0 Then
      Sht.Range(Target.Address) = Target
    End If
  Next Sht
  ' Réactiver les évènements
  Application.EnableEvents = True
End Sub

mais j'ai une erreur d'execution 1004

la méthode 'intersect de l'objet'_Application' a echoué

Le débogueur indique en jaune

If Application.Intersect(Target, Range("C2,C3,C5,C6,C8,C9,C10")) Is Nothing Then

Ai-je mal tappé qqch ?

Salut Arnaud,

Il n'y a pas de raison, c'est écrit correctement

N'aurais-tu pas une référence indiquée [MANQUANTE]
Dans VBA Project -> Menu : Outils -> Références

Ou alors, tu n'as pas sélectionné qu'une seule cellule lors de la modification !?

A+

Franchement c'est une angoisse ce projet pour moi, qui dépasse mes connaissances et je suis pas vraiment à l'aise.

Dans VBA Project -> Menu : Outils -> Références

J'ai ca :

image

Ou alors, tu n'as pas sélectionné qu'une seule cellule lors de la modification !?
Que veux tu dires pas là ?

image

voici en pratique ce que nous remplissons en vert. et ca nous donne le résultat en rouge.

Pour info la macro marche très bien sur les 4 onglets définis dans la macro.

Mais j'ai la fenêtre 1004 qui apparait.

bonjour,

je reprends le sujet, car malgré mes recherches je ne trouve pas de solutions.
La macro marche très bien et lorsque je modifie par exemple la case C3 dans une des feuilles à traiter elle se clone automatiquement dans les autres feuilles à traiter.
Toutefois lorsque toute les 30 minutes le fichier va chercher sur internet des valeur en ligne pour mettre à jour d'autres feuilles ou lorsque j'utilise le bouton données actualiser tout.

J'ai une erreur d'exécution 1004 la méthode intersect de l'objet application a écoué - qui apparait 2x

auriez vous une idée ? une piste ? dites moi si je ne suis pas assez clair.

Merci d'avance

Bonjour Arnaud,

Nous ne pourrons avancer sur le sujet, sans

A+

Mais oui j'y ai pensé... mais j'ai des données confidentiel dans ce fichier.

comment faire ?

Re,

Pour moi, c'est simple

image

De plus, nous n'avons besoin de que 1 ou 2 lignes

A+

Rechercher des sujets similaires à "clone feuilles"