affichage colonne sous condition

  • Initiateur de la discussion Initiateur de la discussion nisuc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nisuc

Guest
bonsoir
je voudrais qu'excel affiche certaines colonnes en fonction d'une condition inscrite dans une cellule.
concrètement, si "janvier" est affiché en A1 affiche moi les colonnes que j'aurais définis comme "janvier

merci de votre aide
Philippe
 
Re : affichage colonne sous condition

Bonsoir et bienvenue parmi nous

Tu peux essayer d'utiliser le Filtre automatique

Données/Filtre automatique

Edit :houps , tu parles de colonnes

Dans ce cas je passerais par une macro
Pour tester
Saisis des dates (du mois de janvier)
sur la ligne 1
ensuite lance la macro affiche_janvier

Pour tout réafficher , lance affiche_tout
Code:
Sub affiche_janvier()
Application.ScreenUpdating = False
Dim cell As Range
Der_Cel = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Row
For Each cell In Range(Cells(1, 1), Cells(Der_Cel, 256))
If Not Month(cell) = 1 Then cell.Columns.Hidden = True
Next
Application.ScreenUpdating = True
End Sub
Sub affiche_tout()
Cells.Columns.Hidden = False
End Sub
 
Dernière édition:
Re : affichage colonne sous condition

Bonsoir
Un fichier serait le bien venu...
Cliquer avec le bouton droit de la souris sur le nom de la feuille concernée et choisir: Visualiser le code
Copier les lignes ci dessous

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
Cells.Select
Selection.EntireColumn.Hidden = False
Select Case Target.Value
Case Is = "Janvier"
Range("C:C,E:E,G:G,I:I").Select
'case is="ce que tu veux"
'action
'case...
'etc
End Select
Selection.EntireColumn.Hidden = True
End Sub
A+ François
 
Re : affichage colonne sous condition

ReBonsoir


Uee solution à optimiser
A tester dans le code de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address(0, 0) = "E1" Then Exit Sub
Dim i As Long
Select Case Target.Value
Case "janvier"
For i = 1 To 20
If Not Cells(7, i).Value Like "JANVIER" Then
Cells(7, i).Columns.Hidden = True
End If
Next i
Case "février"
For i = 1 To 20
If Not Cells(7, i).Value Like "FÉVRIER" Then
Cells(7, i).Columns.Hidden = True
End If
Next i
Case "mars"
For i = 1 To 20
If Not Cells(7, i).Value Like "MARS" Then
Cells(7, i).Columns.Hidden = True
End If
Next i
'continuer ainsi our les autres mois
End Select
 
Dernière édition:
Re : affichage colonne sous condition

merci mais je n'y arrive pas
j'ai remis en ordre mon fichier qui est à présent super limpide sur les tenants et l'aboutissement
je rêve peut être mais il doit bien y avoir une solution miracle

va bouteille à la mer.....
Philippe
 

Pièces jointes

Re : affichage colonne sous condition

Re


Voici un code plus abouti

Pour qu'il fonctionne les mois doivent être saisis avec les majuscules accentuées

edit: code modifié en rapport avec la pièce jointe du message suivant
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address(0, 0) = "B1" Then Exit Sub
Dim tab_mois(12)
Dim i As Long: Dim j As Long
For j = 1 To 12
tab_mois(j) = UCase(Format(30 * j, "mmmm"))
Application.ScreenUpdating = False
Select Case Target.Value
Case LCase(tab_mois(j))
For i = 4 To 76
If Cells(2, i).Value Like tab_mois(j) Then Cells(2, i).Columns.Hidden = False
If Not Cells(2, i).Value Like tab_mois(j) Then Cells(2, i).Columns.Hidden = True
Next
Case "all"
Cells.Columns.Hidden = False
End Select
Next
Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Re : affichage colonne sous condition

Bonjour à tous et plus particulièrement à Staple1600,

Je souhaiterais réaliser une marco dans le meme genre que "testOK.xls" sauf que ce ne sont pas des mois mais des éléments (au nombre de 30 et non 12). Je m'explique, j'ai télécharger le fichier testok et j'y ai remplacer par exemple "JANVIER" par "SILICIUM" dans les titres de colonne et également dans la liste de choix mais lorsque je choisis "silicium dans la liste, rien ne se masque et rien ne s'affiche....
Comment faire pour adapter la macro ?

D'avance merci ;-)
 
Bonjour,

je travaille actuellement un fichier excel et mon besoin est sensiblement le même.

En colone A, le nom de mes employés sont inscrits. (Si la case est vide, c'est parce qu'il n'a pas d'employé) (A6 à A31)
Ces même nom se retrouvent aussi dans une ligne (5B à 5AA) 52 fois (pour chaque semaine de l'année)

J'aimerais donc que la ligne 5 affiche seulement les noms des employés se retrouvant dans ma colone A.
Ce qui veut dire; Si en A30 ma cellule est vide, la colone 5Z sera masquée.

Je dois répéter ceci pour mes 52 semaines.

J'ai joint le fichier

J'ai aucune idée de comment fonctionne le code...

Pouvez-vous m'aider?
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
409
Réponses
0
Affichages
407
Réponses
3
Affichages
648
Réponses
0
Affichages
537
Retour