Activer une macro (VBA) sur une autre feuille

Bonjour,

Alors voilà, j'ai crée une macro en vba sur une feuille 2 et j'aimerais que si dans ma feuille "base" dans la case "E6" est affiché zéro alors cela cache ma colonne "J" dans ma feuille 2, aidé moi je n'y arrive pas....

En pièce jointe le document d'explication

Merci,

Justine

13classeur1.xlsx (9.26 Ko)

Bonsoir à mettre dans le code vba de ta feuille "Base" :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E6")) Is Nothing Then
        If Target.Value = 0 Then
            Sheets(2).Columns("J:J").EntireColumn.Hidden = True
        Else
            Sheets(2).Columns("J:J").EntireColumn.Hidden = False
        End If
    End If
End Sub

Bonne soirée

Bonjour Justine,

Je te propose ce fichier Excel :

22classeur1.xlsm (14.57 Ko)

Alt F11 pour voir le code VBA puis revenir sur Excel

Cordialement,

dhany

Salut l'équipe,

bien compliqué, tout ça...

Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Intersect(Target, Range("E6")) Is Nothing Then Worksheets("Feuil2").Columns(10).Hidden = IIf(Target = 0, True, False)
'
End Sub

ou...

Private Sub Worksheet_Change(ByVal Target As Range)
'
Worksheets("Feuil2").Columns(10).Hidden = IIf([E6] = 0, True, False)
'
End Sub

A+

Cela fonctionne bien mais comment pourrais en mettre plusieurs à la suite, je m'explique :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Target

If .Count = 0 Then Exit Sub

If .Address <> "$F$4" Then Exit Sub

Worksheets("Chiffrage Maisons").Columns("G:H").Hidden = .Value = 1

End With

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Target

If .Count = 0 Then Exit Sub

If .Address <> "$F$5" Then Exit Sub

Worksheets("Chiffrage Maisons").Columns("I:J").Hidden = .Value = 1

End With

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Target

If .Count = 0 Then Exit Sub

If .Address <> "$F$6" Then Exit Sub

Worksheets("Chiffrage Maisons").Columns("K:L").Hidden = .Value = 1

End With

End Sub

Cela ne marche plus,

Comment "aditionner" plusieurs macro ?

Cela fonctionne bien mais comment pourrais en mettre plusieurs à la suite ...

Cela ne marche plus,

Comment "aditionner" plusieurs macro ?

Bonjour,

En ce qui concerne les macros évènementielles ...du même évènement ...

" Additionner " n'existe pas ...

il faut les fusionner en une seule

Worksheet_SelectionChange()

D'accord je vois, mais ma formule ne fonctionne pas, cela m'affiche "erreur de compilation", help... merci

Private Sub Worksheet_SelectionChange()

With Target

If .Count = 0 Then Exit Sub

If .Address <> "$F$4" Then Exit Sub

Worksheets("Chiffrage Maisons").Columns("G:H").Hidden = .Value = 1

End With

With Target

If .Count = 0 Then Exit Sub

If .Address <> "$F$5" Then Exit Sub

Worksheets("Chiffrage Maisons").Columns("I:J").Hidden = .Value = 1

End With

With Target

If .Count = 0 Then Exit Sub

If .Address <> "$F$16" Then Exit Sub

Worksheets("Chiffrage Maisons").Columns("K:L").Hidden = .Value = 1

End With

End Sub

Je te propose ce fichier Excel :

9classeur1.xlsm (16.20 Ko)

Je te laisse vérifier et me donner ton avis.

Cordialement,

dhany

Re,

Tu peux tester

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("F4,F5,F16")) Is Nothing Then Exit Sub
    With Target
      Select Case .Row
          Case 4
            Worksheets("Chiffrage Maisons").Columns("G:H").Hidden = .Value = 1
          Case 5
            Worksheets("Chiffrage Maisons").Columns("I:J").Hidden = .Value = 1
          Case 16
            Worksheets("Chiffrage Maisons").Columns("K:L").Hidden = .Value = 1
      End Select
    End With
End Sub

En espérant que cela t'aide

Fichier en pièce jointe, pour meilleure explication, merci

Re,

Tu peux tester

Fonctionne pas toujours "erreur incompatibilité"...... zut,

Merci

Fichier avec c'est mieux,

Mon fichier veut pas venir, ah si..

6classeur1-1.xlsm (17.98 Ko)

Fichier en pièce jointe, pour meilleure explication, merci ...

Re,

Tu es sûre que ton fichier est en pièce jointe ...

Re,

OK ... je viens de voir que tu as réussi à joindre ton fichier ...

Dès que j'ai un petit moment ... je vais y jeter un oeil ...

@Justine

J'ai l'impression que tu n'as pas vu mon message de 09:55 !

Merci d'essayer le fichier joint et de me donner ton avis.

Cordialement,

dhany

@Justine

J'ai l'impression que tu n'as pas vu mon message de 09:55 !

Merci d'essayer le fichier joint et de me donner ton avis.

Cordialement,

dhany

Si je l'ai vu et le fichier que j'ai renvoyé complète ton fichier, merci

Re,

Ci-joint ton fichier corrigé et testé ...

11test-justinev.xlsm (16.60 Ko)

Feuille "Chiffrage Maisons" : tu as en R3 : Modèle T5 ; en P3 : Modèle T4 ; en N3 : Modèle T4 aussi ? ne serait-ce pas plutôt Modèle T3 ? j'ai laissé tel que ; à toi de corriger éventuellement.

Feuille "base" : ton problème est très différent de celui d'avant ! si j'ai bien compris ta note en C2:D13 c'est : si le nombre que tu saisis en K4:K13 = 0 masquer les 2 colonnes "N:O" ; sinon, les afficher ; ce n'est plus 3 paires de colonnes comme avant ! ou alors, tu as mal exprimé ton besoin ! j'ai fait mon code VBA pour masquer ou afficher la seule paire de colonne "N:O", selon la valeur de la cellule de la colonne K ; ça marche pour toute ligne > 3 donc à partir de K4 et lignes suivantes (même colonne).

Je te retourne ton dernier fichier modifié :

11classeur1.xlsm (17.53 Ko)

Cordialement,

dhany

Re,

Pour t'éclairer sur ton erreur de compilation ...

L'instruction :

Private Sub Worksheet_Change(ByVal Target As Range)

pourra être exécutée ...

... tandis que l'instruction suivante ... celle que tu as utilisé ..

Private Sub Worksheet_Change()

génèrera une erreur ... car étant incomplète ... elle ne sera pas reconnue ...

Well done ! Enfin réussi et grâce à vous ! Merci beaucoup à tous,

Passez une bonne journée !

Rechercher des sujets similaires à "activer macro vba feuille"