Masquer une colonne

rebonjour

puisque claude a repondu a ma question precedente

je me retourne vers une autre solution

comment masquer la colonne G si b3 et superieur a 0

amicalement

re,

2 solutions

avec un bouton

Sub MasqueCol() 'avec bouton
    If Range("b3") > 0 Then
        Columns("g").Hidden = True
    Else
        Columns("g").Hidden = False
    End If
End Sub

en modifiant "B3"

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("b3")) Is Nothing Then
        If Target > 0 Then
            Columns("g").Hidden = True
        Else
            Columns("g").Hidden = False
        End If
    End If
End Sub

Amicalement

Claude

merci claude de ta reponse si rapide

que veut tu dire par modifier B3 car je voudrais que cela se fasse automatiquement et non par un bouton

amicalement

re,

C'est donc le 2ème code qu'il te faut (en modifiant B3)

clique droit sur l'onglet et Visualiser le code,

colle

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Application.Intersect(Target, Range("b3")) Is Nothing Then
            If Target > 0 Then
                Columns("g").Hidden = True
            Else
                Columns("g").Hidden = False
            End If
        End If
    End Sub

Claude

milles excuses je me suis trompé de post quel idiot je fait

donc je reposte ma reponse

desolé claude mais cela ne fonctionne pas j'ai une fenetre ( erreur de compilation nom ambigu detecté Worksheet_Change)

mais peut etre cela vient t'il du fait que dans la cellule b3 il y a une formule qui me fait obtenir 1 ou 0 voici la formule =INDEX(net;EQUIV($B$5;magasin;0))

amicalement

re,

remplace mon dernier code par celui-ci,

il se déclenche au calcul

Private Sub Worksheet_Calculate()
    If Range("b3") > 0 Then
        Columns("g").Hidden = True
    Else
        Columns("g").Hidden = False
    End If
End Sub

Claude

re

desolé claude j'ai tjs un message d'erreur

erreur de compilation : nom ambigu detecté : Worksheet_Calculate

amicalement

re,

peux_tu envoyer la feuille

Bonjour

Teddy, le code de Claude fonctionne parfaitement que ce soit en Worksheet_Calculate() ou en Worksheet_Change(ByVal Target As Range)

Ton souci vient d'autre chose et d'une mauvaise recopie du code. Vérifie que ta feuille contient bien le code tel que proposé par Claude.

Amicalement

re teddy33, bonjour Dan,

J'ajouterais que ce code doit être placé dans le VBE de la feuille concernée

et non dans un module.

Amicalement

Claude

rebonjour a tous

et merci de passer du temp a mon probleme

je vient de ressayer et toujour pareil

donc comme vous me demandez je vous joint le fichier j'y et juste effacer certaine données confidentielles

je n'y ai pas recopier le code

pour que vous voyez par vous meme

amicalement

Re,

Normal que tu as un souci puisque tu mets deux fois la même référence de code dans ta feuille. Il faut combiner deux codes

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("L15:L18"), Target) Is Nothing Then
For n = 15 To 15
....

avec celui de Claude.

Sinon à quoi sert ce code dans ta feuille puisqu'en L15 et L18 il s'agit d'une formule ??. Il ya d'ailleurs pas mal de choses à modifier dans ton fichier. Déclarer toutes tes variables déjà...

Je laisse Claude continuer avec toi puisqu'il a commencé à te répondre.

Amicalement

Rechercher des sujets similaires à "masquer colonne"