Salut à tous, j'ai encore un petit problème qui est certainement simple mais
dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me
donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais
je n'arrive pas à l'adapter de C à AW:
J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate()
If Range("C4").Value <> Non Then
With Range("C4")
.EntireColumn.Hidden = False
End With
End If
End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte
les colonnes de C à AW?
--
Nangoustine
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anomymousA
bonjour,
ben , avec with range("C4:W4") ca devrait le faire , non ?
If Range("C4").Value <> Non Then Range("C4:W4").EntireColumn.Hidden = False else Range("C4:W4").EntireColumn.Hidden = true end if
A+
Salut à tous, j'ai encore un petit problème qui est certainement simple mais dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais je n'arrive pas à l'adapter de C à AW: J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate() If Range("C4").Value <> Non Then With Range("C4") .EntireColumn.Hidden = False End With End If End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte les colonnes de C à AW? -- Nangoustine
bonjour,
ben , avec with range("C4:W4") ca devrait le faire , non ?
If Range("C4").Value <> Non Then
Range("C4:W4").EntireColumn.Hidden = False
else
Range("C4:W4").EntireColumn.Hidden = true
end if
A+
Salut à tous, j'ai encore un petit problème qui est certainement simple mais
dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me
donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais
je n'arrive pas à l'adapter de C à AW:
J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate()
If Range("C4").Value <> Non Then
With Range("C4")
.EntireColumn.Hidden = False
End With
End If
End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte
les colonnes de C à AW?
--
Nangoustine
ben , avec with range("C4:W4") ca devrait le faire , non ?
If Range("C4").Value <> Non Then Range("C4:W4").EntireColumn.Hidden = False else Range("C4:W4").EntireColumn.Hidden = true end if
A+
Salut à tous, j'ai encore un petit problème qui est certainement simple mais dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais je n'arrive pas à l'adapter de C à AW: J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate() If Range("C4").Value <> Non Then With Range("C4") .EntireColumn.Hidden = False End With End If End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte les colonnes de C à AW? -- Nangoustine
Michel Gaboly
Bonsoir
Private Sub Masque Dim c as Range For each c in Range("C4:AW4") If c = "Non" Then c.EntireColumn.Hidden = True Next c End Sub
Attention dans ton code à ne pas confondre Non (sans guillemet, qui représente donc 1 variable) et "Non" (avec guillemets, qui est une chaîne de caractères).
Pour éviter ce genre de problème, côche "Déclaration explicite des variables" dans les options de l'environnement VBA. Cela te signalera toute variable non prédéfinie, comme ici Non.
Enfin, aucune raison d'associer cela à Calculate, plutôt à Change, en utilisant Intersect :
Private Sub Worksheet_Change(ByVal Target as Excel.Range) Dim c as Range If Not Intersect(Target, Range("C4:AW4") is Nothing Then For Each c in Intersect(Target, Range("C4:AW4") If c = "Non" Then c.EntireColumn.Hidden = True Next End If End Sub
Attention, la comparaison est sensible à la casse (fait la différence entre minuscules et majuscules). Pour éviter cela, il faut écrire :
If UCase(C) = "NON" Then
Salut à tous, j'ai encore un petit problème qui est certainement simple mais dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais je n'arrive pas à l'adapter de C à AW: J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate() If Range("C4").Value <> Non Then With Range("C4") .EntireColumn.Hidden = False End With End If End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte les colonnes de C à AW?
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonsoir
Private Sub Masque
Dim c as Range
For each c in Range("C4:AW4")
If c = "Non" Then c.EntireColumn.Hidden = True
Next c
End Sub
Attention dans ton code à ne pas confondre Non (sans guillemet, qui
représente donc 1 variable) et "Non" (avec guillemets, qui est une
chaîne de caractères).
Pour éviter ce genre de problème, côche "Déclaration explicite des
variables" dans les options de l'environnement VBA. Cela te signalera
toute variable non prédéfinie, comme ici Non.
Enfin, aucune raison d'associer cela à Calculate, plutôt à Change, en
utilisant Intersect :
Private Sub Worksheet_Change(ByVal Target as Excel.Range)
Dim c as Range
If Not Intersect(Target, Range("C4:AW4") is Nothing Then
For Each c in Intersect(Target, Range("C4:AW4")
If c = "Non" Then c.EntireColumn.Hidden = True
Next
End If
End Sub
Attention, la comparaison est sensible à la casse (fait la différence
entre minuscules et majuscules). Pour éviter cela, il faut écrire :
If UCase(C) = "NON" Then
Salut à tous, j'ai encore un petit problème qui est certainement simple mais
dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me
donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais
je n'arrive pas à l'adapter de C à AW:
J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate()
If Range("C4").Value <> Non Then
With Range("C4")
.EntireColumn.Hidden = False
End With
End If
End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte
les colonnes de C à AW?
Private Sub Masque Dim c as Range For each c in Range("C4:AW4") If c = "Non" Then c.EntireColumn.Hidden = True Next c End Sub
Attention dans ton code à ne pas confondre Non (sans guillemet, qui représente donc 1 variable) et "Non" (avec guillemets, qui est une chaîne de caractères).
Pour éviter ce genre de problème, côche "Déclaration explicite des variables" dans les options de l'environnement VBA. Cela te signalera toute variable non prédéfinie, comme ici Non.
Enfin, aucune raison d'associer cela à Calculate, plutôt à Change, en utilisant Intersect :
Private Sub Worksheet_Change(ByVal Target as Excel.Range) Dim c as Range If Not Intersect(Target, Range("C4:AW4") is Nothing Then For Each c in Intersect(Target, Range("C4:AW4") If c = "Non" Then c.EntireColumn.Hidden = True Next End If End Sub
Attention, la comparaison est sensible à la casse (fait la différence entre minuscules et majuscules). Pour éviter cela, il faut écrire :
If UCase(C) = "NON" Then
Salut à tous, j'ai encore un petit problème qui est certainement simple mais dépasse mes compétences actuelles:
Je souhaite que sur les colonnes C:AW, lorsque ma formule en ligne 4 me donne "Non", toute la colonne soit masquée.
Pour l'instant, j'ai donc cette solution qui marche pour une colonne, mais je n'arrive pas à l'adapter de C à AW: J'ai masqué ma colonne C et j'ai en parallèle la macro suivante :
Private Sub Worksheet_Calculate() If Range("C4").Value <> Non Then With Range("C4") .EntireColumn.Hidden = False End With End If End Sub
Sauriez vous comment adapter cette macro pour qu'elle me prenne en compte les colonnes de C à AW?