Création de 3 macros

Salut tous le monde,

Je travaille actuellement sur un fichier excel donc le nombre de feuilles va augmenter lorsque je vais rajouter des sites.

Sur chaque feuille, il y a un tableau avec un menu déroulant qui me permet de choisir trois paramètres. Lorsque je choisis un paramètre, le tableau s’actualise afin de me montrer les données qui correspondent au paramètre sélectionné.

Mon but est de créer trois macros qui me permettrait de choisir à l’aide de trois boutons soit:

-le 1er paramètre

-le 2eme paramètre

-le 3eme paramètre

En effet, quand je sélectionnerai le paramètre du tableau qui m’intéresse, je veux qu’il le change également sur les autres tableaux des autres pages.

Je pourrais enregistrer les macros mais le problème est qu'elles ne prendrons pas en compte les nouveaux sites que je vais rajouter sur les nouvelles feuilles.

Est-il possible à l’aide d’un code VBA de réaliser la requête suivante?

Bonjour 123, le forum,

Un petit fichier peut-être pour voir comment sont structurées tes données ?

Cordialement,

Pas de problème xorsankukaiet merci pour tas réponse

Sur le fichier si dessous, il y a trois feuilles.

Les tableaux restent toujours à la même place.

Il y a 4 paramètres

-Compteur-Pompe-Vannes-Robinet

Dans le tableau il y a trois colonnes E1 E2 E3 . Ces colonnes sont indépendante. Je m'explique, je peux avoir dans la colonne E1 le paramètre Vannes, dans la colonne E2 le paramètre Robinet et dans la colonne E3 le paramètre Robinet.

Le but c'est que si je prends pour E1 VANNES qu'il le change sur les autres pages et qu'il prenne en compte les nouvelles pages de même pour les autres colonnes.

Voilà

Bonjour,

Un essai ( de ce que j'ai compris):

code à placer dans le module de la feuille Synthèse...

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim sh As Worksheet
 If Not Application.Intersect(Target, Range("F5:H5")) Is Nothing Then
  cancel = True
   For Each sh In ThisWorkbook.Worksheets
    If sh.Name <> "Synthèse" Then
     sh.Range(Target.Address(False, False)) = Target.Value
    End If
   Next sh
 End If
End Sub

Attention, toutes les feuilles après la feuille synthèse, sont modifiées.

Cordialement,

Merci

Je voulais exactement ça.

A+

Re,

Petite modif.pour les colonnes....(de la 6 à la dernière)...

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim sh As Worksheet
 Dim dercol As Integer

    dercol = Sheets("synthèse").Cells(4, Cells.Columns.Count).End(xlToLeft).Column

 If Not Application.Intersect(Target, Range(Cells(5, 6), Cells(5, dercol))) Is Nothing Then
   cancel = True
    For Each sh In ThisWorkbook.Worksheets
     If sh.Name <> "Synthèse" Then
      sh.Range(Target.Address(False, False)) = Target.Value
     End If
    Next sh
 End If
End Sub

Cordialement,

re

Encore merci!!!

a+

Bonjour tout le monde,

J'ai la même problématique à une chose près, je m'explique:

Dans la 1ère feuille "synthèse" j'ai une zone de sélection avec liste déroulante, et dans les feuilles suivantes (de nombre inconnu et variable) les mêmes zones de sélection à un emplacement différent (en terme de colonnes et lignes) que sur la feuille "synthèse" mais néanmoins identique sur toutes les feuilles restantes.

Le code ci haut ne marchant pas dans ce cas ci, j'aimerais l'adapter voir trouver un autre code

J'espère avoir été suffisamment claire et je vous remercie d'avance pour vos réponses :)

Bonjour,

les mêmes zones de sélection à un emplacement différent (en terme de colonnes et lignes) que sur la feuille "synthèse" mais néanmoins identique sur toutes les feuilles restantes.

Peut-être ainsi:

sh.Range(Target.Address(False, False)).Offset(8, 6) = Target.Value

Avec un décalage de 8 lignes vers le bas et 6 colonnes vers la droite...

Cordialement,

Bonjour,

C'est ce qu'il me fallait!

Merci pour l'aide!

Rechercher des sujets similaires à "creation macros"