Ecrire sur 2 feuilles en même temps

Bonjour à tous,

Nouveau problème... Avec le fichier joint, voici ce que je cherche à faire :

* lorsque je coche la case en L7 de l'une des 2 feuilles :

- que la case soit également cochée sur l'autre feuille,

- que les données indiquées en colonne C et/ou D de la feuil1 soit également renserignées dans la feuil2

- ou que les données indiquées en colonne C et/ou D de la feuil2 soit également renserignées dans la feuil1

Je ne suis pas sûre que ce soit très clair... Dites moi !

Merci beaucoup de votre aide,

Amicalement

95walden-v001.zip (9.97 Ko)

Bonjour,

Cliquer sur l'onglet de la Feuil1

Appuyer sur la touche Maj et maintenir cette touche enfoncé et Cliquer sur l'onglet de la Feuil2

Les 2 feuilles sont maintenant sélectionnées et toute manoeuvre sur la feuille 1 se duplique sur la feuille 2

Pour déselectionner les 2 feuilles cliquer sur l'onglet de Feuil2.

A+

Bonjour Galopin01 !

Merci de ta réponse ! Sympa, je ne connaissais pas ! Néanmoins, j'aimerais faire ça par vba... (si c'est possible, bien entendu !)

Merci encore,

Bonne soirée

Bonjour à tous,

j'ai réfléchis à mon soucis... je pensais réussir à contourner le problème en entrant dans un module le code suivant :

Sub MacroCommune7()
Dim Sh As Shape
Dim J As Integer
Dim DerLigAp As Long
Dim copie As Boolean
DerLigAp = Range("A" & Rows.Count).End(xlUp).Row
 Set Sh = ActiveSheet.Shapes(Application.Caller)
  If Sh.ControlFormat.Value = xlOn Then
copie = True
End If
  If Sh.ControlFormat.Value = xlOff Then
  copie = False
  End If
  End Sub

Puis en entrant ce code dans la feuil1 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DerLigAp As Long
Dim J As Integer
Dim copie As Boolean
If copie = True Then
For J = 12 To DerLigAp
Range("B" & J).Copy Feuil2.Range("B" & J)
Range("C" & J).Copy Feuil2.Range("C" & J)
Next J
End If

End Sub

Vous vous en doutez, ça ne fonctionne pas... est-ce que ma démarche est stupide ??

Merci beaucoup,

Bonne journée,

Amicalement

Bonjour

En modifiant ce que tu as fait

[b][size=150]EDIT : Modification de cette macro

Les CheckBox doivent avoir le même nom sur les pages différentes[/size][/b]

Dans un module standard

Public Copie As Boolean

Sub MacroCommune7()

  Copie = False
  Set Sh = ActiveSheet.Shapes(Application.Caller)
  Select Case Sh.Parent.Name
    Case "Feuil1"
      Feuil2.Shapes(Sh.Name).ControlFormat = Sh.ControlFormat
    Case Else
      Feuil1.Shapes(Sh.Name).ControlFormat = Sh.ControlFormat
  End Select
  If Sh.ControlFormat.Value = xlOn Then
    Copie = True
  End If
End Sub

Dans le module de la feuille 1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Copie = True Then
    Range("B12:C" & Range("A" & Rows.Count).End(xlUp).Row).Copy Sheets("Feuil2").Range("B12")
  End If

End Sub

Bien sur tes 2 CheckBox doivent être associés à la même macro

Bonjour Banzai64,

Merci beaucoup ! Je n'étais pas trop loin pour une fois, je m'améliore...

Merci encore !

Bonne journée,

Amicalement

Encore une question: quelqu'un sait-il s'il est possible de différencier une case qui n'a pas été cochée d'une autre qui a été cochée, puis décochée ?

Je m'explique, j'aurais aimé que lorsque la case est décochée (donc elle a été cochée au préalable...), que les colonnes C & D de l'autre feuille, soient effacées.

Par ex., la case de la feuille 1 est cochée, si on remplit des cellules de la cellules C ou D, les cellules correspondantes de la feuille 2 le seront aussi. Si l'utilisateur se rend compte qu'il s'est trompé et qu'il décoche la case de la feuille 1, j'aimerais que les cellules de colonnes C & D de la feuille 2 soient effacées.

Possible ??

Bonne soirée

Bonsoir

Une méthode simple

Dans ta macro qui contrôle si le CheckBox est coché, place une valeur dans une cellule, et quand dans la même macro tu vois que le checkbox est décoché, testes si tu avais noté quelque chose dans la cellule et agit en conséquence

Merci Banzai64 ! Pas sûre d'avoir tout compris...

J'ai testé ça :

Sub MacroCommune7()
Dim Sh As Shape
  copie = False
  Set Sh = ActiveSheet.Shapes(Application.Caller)
  Select Case Sh.Parent.Name
    Case "Feuil1"
      Feuil2.Shapes(Sh.Name).ControlFormat = Sh.ControlFormat
    Case Else
      Feuil1.Shapes(Sh.Name).ControlFormat = Sh.ControlFormat
  End Select
  If Sh.ControlFormat.Value = xlOn Then
    copie = True
    Feuil1.Range("M7").Value = 1
        Feuil2.Range("M7").Value = 1
    End If

  If Feuil2.Shapes(Sh.Name).ControlFormat.Value = xlOff Then
    copie = False
    If Feuil1.Range("M7").Value = 1 Then
    Feuil1.Range("B12") = ""
   End If
   End If
     If Feuil1.Shapes(Sh.Name).ControlFormat.Value = xlOff Then
    copie = True
    If Feuil2.Range("M7").Value = 1 Then
    Feuil2.Range("B12") = ""
   End If
 End If
End Sub

La valeur en "M7" devait me permettre de distinguer une case qui n'a jamais été cochée, d'une autre qui a été cochée, puis décochée...

Qu'en penses-tu ?

Bonne journée

Bonjour

Avec le code que je t'avais fourni la modification des checkbox est semi-automatique

Je m'explique l'action manuelle sur l'une des deux modifie automatiquement la 2ème

Donc on peut dire que les checkbox sont cliqués simultanément , donc une seule marque devrait suffire, comme elles fonctionne ensemble

Tu places la variable Copie à True si les Checkbox sont cochées

Si ce n'est le cas tu testes ta cellule M7 et tu effaces sur l'autre feuille la case B12 (Pourquoi celle-ci)

Ce qui pourrait donner comme code

Option Explicit

Public Copie As Boolean

Sub MacroCommune7()
Dim Sh As Shape
Dim Ws As Worksheet

  Copie = False
  Set Sh = ActiveSheet.Shapes(Application.Caller)
  Select Case Sh.Parent.Name
    Case "Feuil1"
      Set Ws = Feuil2
    Case Else
      Set Ws = Feuil1
  End Select
  Ws.Shapes(Sh.Name).ControlFormat = Sh.ControlFormat

  If Sh.ControlFormat.Value = xlOn Then
    Copie = True
    Feuil1.Range("M7").Value = 1
  Else
    If Feuil1.Range("M7") = 1 Then
      Feuil1.Range("M7").ClearContents
      Ws.Range("B12").ClearContents
    End If
  End If
End Sub   

Bonjour Banzai64,

Merci pour ces explications !

C'est pas mal du tout ! Pour la case B12, c'était uniquement pour le test... c'est bien les colonnes C & D que je souhaite effacer... Par contre je me demande : crois -tu qu'il serait judicieux que j'insère une msgbox qui me demande quelles colonnes de quelle feuille (feuil1 ou feuil2), je souhaite effacer ?

Les 2 cas sont possibles... soit je dois effacer les données de la feuil1, soit celles de la feuill2.

Qu'en penses-tu?

Bon appétit

Bonjour

Tu es train de te créer une situation complexe

Tu coches

Tu te ballade de la feuil1 vers la feuil2 et de la feuil2 vers la feuil1

Tu décoches et tu effaces quoi ?

C'est trop compliqué à gérer (peut-être pas impossible)

Moi je ne me lance pas dans cette recherche

Bonsoir Banzai64, le Forum,

Tu as raison ! Je laisse comme ça !

Sujet résolu, merci beaucoup !

Bonne soirée

Rechercher des sujets similaires à "ecrire feuilles meme temps"