Comment rendre invisible ensemble de cellule
flexi2202
-
flexi2202 -
flexi2202 -
Bonjour a tous
j ai un calendrier avec les jours les uns a cote des autres et sous chaque jour 3 colonnes et donc je me retrouve avec 365 colonnes fois 3
je souhaiterais lorsque je sélectionne un jour que les jours a gauche a droite deviennent invisible et donc qu il me reste juste la colonne jour et les 3 sous colonnes visible
merci de l aide
j ai un calendrier avec les jours les uns a cote des autres et sous chaque jour 3 colonnes et donc je me retrouve avec 365 colonnes fois 3
je souhaiterais lorsque je sélectionne un jour que les jours a gauche a droite deviennent invisible et donc qu il me reste juste la colonne jour et les 3 sous colonnes visible
merci de l aide
A voir également:
- Comment rendre invisible ensemble de cellule
- Clé usb invisible - Guide
- Comment rendre un fichier moins lourd - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Comment aller à la ligne dans une cellule excel - Guide
23 réponses
Re,
récupère une possibilité de fichier 170 KO piloter par VBA que tu peux voir soit en clic droit sur l'onglet de feuille et Visualiser le code ou touche Alt et touche F11
ou tu trouveras ce code annoté simplifié et annoté pour comprendre ce que chaque ligne fait
le code s'active dès que tu sélectionnes une date cellule A3
https://www.cjoint.com/c/HJmoF6VpLKj
récupère une possibilité de fichier 170 KO piloter par VBA que tu peux voir soit en clic droit sur l'onglet de feuille et Visualiser le code ou touche Alt et touche F11
ou tu trouveras ce code annoté simplifié et annoté pour comprendre ce que chaque ligne fait
le code s'active dès que tu sélectionnes une date cellule A3
Option Explicit
Private Sub Worksheet_Change(ByVal target As Range)
Dim CellAdress, c As Range ' ----------------------------- déclaration des variables
Dim i As Integer
If Not Intersect(target, Range("A3")) Is Nothing Then ' -- active le code au changement des valeurts cellule A3
On Error Resume Next '------------------------------------ gestion des erreurs, évite le blocage du code
Application.ScreenUpdating = False ' ----------------- suspend le rafraichissement écran, accélérer le code
Columns("C:APH").EntireColumn.Hidden = False ' --- masque les colonnes de C à APH
Columns("C:APH").ColumnWidth = 10 ' -------------- réduit la largeur des colonnes à 10
Range("A3:APH3").NumberFormat = "General" ' ------ change le format de la plage date en format standard
With ActiveSheet.Range("C3:APH3") ' ---------- boucle sur la plage pour rechercher la valeur critère en A3
Set c = .Find([A3], LookIn:=xlValues)
If Not c Is Nothing Then
CellAdress = c.Address ' ------------- identifie l'adresse de la valeur trouvée
End If
End With ' ------------------------------------ arrête la boucle de recherche
Range(CellAdress).Select ' -------------------- sélectionne la valeur trouvée
For i = 3 To 1100 ' ------------------------------- boucle sur les colonnes de 3 à 1100 soit de C à APH
If Cells(3, i) <> [A3] Then ' ----------------- ligne 3 les cellules ne contenant pas la valeur
Cells(3, i).EntireColumn.Hidden = True ' -- les colonnes sont masquées
Else ' ---------------------------------------- sinon si la valeur est trouvée
Cells(3, i).EntireColumn.Hidden = False ' - la colonne est affichée
End If ' -------------------------------------- fin de la condition
Next i ' ------------------------------------------ fin du bouclage ligne 3 des colonnes C à APH
ActiveCell.Offset(-1, 0).Select ' --------------------- sort de la cellule fusionnée
Range(ActiveCell, ActiveCell.Offset(0, 2)).Select ' --- sélectionne les trois cellules correspondates au jour trouvé
Selection.EntireColumn.Hidden = False ' --------------- affiche les trois colonnes concernées
Selection.ColumnWidth = 40 ' -------------------------- redimentionne la largeur des colonnes concernées à 40
Range("C3:APH3").NumberFormat = "dddd dd/mm/yyyy" ' --- rétabli l'affichage "jour semaine jour/mois/année" plage C3:APH3
[A3].NumberFormat = "dd/mm/yyyy" ' -------------------- rétabli l'affichage de la cellule critère A3 jour/mois/année
Application.ScreenUpdating = True ' ----------------------- rétabli le rafraichissement écran
End If ' -------------------------------------------------- fin de la condition
End Sub ' ------------------------------------------------- fin de la procédure
https://www.cjoint.com/c/HJmoF6VpLKj
... sauf, peut-être, par VBA !
Alors si tu as de la chance, un connaisseur te programmera une macro.
Mais j'en doute !
Alors si tu as de la chance, un connaisseur te programmera une macro.
Mais j'en doute !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Salutations Raymond et f894009
Ou peut-être utiliser le fractionnement
https://www.cjoint.com/c/HJifWrbmJKN
Cordialement
Salutations Raymond et f894009
Ou peut-être utiliser le fractionnement
https://www.cjoint.com/c/HJifWrbmJKN
Cordialement
bonjour
merci a tous pour votre aide
super cette idée pour le volet a gauche , y aurait il moyen de faire une recherche et d afficher la date lors d une recherche a l aide d un mini calendrier
pour l instant j ai remplacer le 1,2,3,4 ect ...par des dates
donc lorsque on clic sur une date du mini calendrier que le jour s affiche a gauche
pour repondre a f894009 , oui les donnees rentrees sous les dates doivent etre visible si on rappelle la date
merci de votre aide a tous
merci a tous pour votre aide
super cette idée pour le volet a gauche , y aurait il moyen de faire une recherche et d afficher la date lors d une recherche a l aide d un mini calendrier
pour l instant j ai remplacer le 1,2,3,4 ect ...par des dates
donc lorsque on clic sur une date du mini calendrier que le jour s affiche a gauche
pour repondre a f894009 , oui les donnees rentrees sous les dates doivent etre visible si on rappelle la date
merci de votre aide a tous
Bonjour,
Vous pouvez mettre votre fichier a dispo avec explications détaillées car se sont des cellules ou des colonnes qui doivent être masquées (invisibles)??
Vous pouvez mettre votre fichier a dispo avec explications détaillées car se sont des cellules ou des colonnes qui doivent être masquées (invisibles)??
bonjour
merci pour la réponse
voici mon début de fichier
avoir un mini calendrier et que quand je clique sur la date le jour correspondant vienne a l écran , les jours sont place en horizontal sur tout le classeur
https://www.cjoint.com/c/HJjv5MIVeMu
merci pour la réponse
voici mon début de fichier
avoir un mini calendrier et que quand je clique sur la date le jour correspondant vienne a l écran , les jours sont place en horizontal sur tout le classeur
https://www.cjoint.com/c/HJjv5MIVeMu
Bonjour flexi2202
Etant donné que tes explications manquent de clarté, doit-on traduire
" j ai un calendrier avec les jours les uns a cote des autres et sous chaque jour 3 colonnes et donc je me retrouve avec 365 colonnes fois 3
je souhaiterais lorsque je sélectionne un jour que les jours a gauche a droite deviennent invisible et donc qu il me reste juste la colonne jour et les 3 sous colonnes visible " par " J'ai un tableau avec les jours en ligne 4 sur 15 colonnes, réparties en 3 groupes de 5 colonnes, soit un total de 365*3*5=5475 colonnes. Je souhaiterais que lorsque je sélectionne un jour, seules les 15 colonnes correspondent soient affichées " ?
Etant donné que tes explications manquent de clarté, doit-on traduire
" j ai un calendrier avec les jours les uns a cote des autres et sous chaque jour 3 colonnes et donc je me retrouve avec 365 colonnes fois 3
je souhaiterais lorsque je sélectionne un jour que les jours a gauche a droite deviennent invisible et donc qu il me reste juste la colonne jour et les 3 sous colonnes visible " par " J'ai un tableau avec les jours en ligne 4 sur 15 colonnes, réparties en 3 groupes de 5 colonnes, soit un total de 365*3*5=5475 colonnes. Je souhaiterais que lorsque je sélectionne un jour, seules les 15 colonnes correspondent soient affichées " ?
(suite)
Et " avoir un mini calendrier et que quand je clique sur la date le jour correspondant vienne a l écran " signifie qu'il nous faut te fournir un mini-calendrier, en plus de ton immense calendrier de 5000 colonnes ?
Et où faudrait-il placer ce mini-calendrier :
Dans une autre feuille, ou plus bas que la ligne 45 ?
Et " avoir un mini calendrier et que quand je clique sur la date le jour correspondant vienne a l écran " signifie qu'il nous faut te fournir un mini-calendrier, en plus de ton immense calendrier de 5000 colonnes ?
Et où faudrait-il placer ce mini-calendrier :
Dans une autre feuille, ou plus bas que la ligne 45 ?
bonjour Raymond
voila tu as tout compris tu as mieux explique
tu as compris ce que je recherche
merci pour ton aide
voila tu as tout compris tu as mieux explique
tu as compris ce que je recherche
merci pour ton aide
bonjour ccm81
voila parfait il faudrait juste que quand je clic dans le calendrier s affiche devant moi le jour avec les 15 colonnes
je suis en version excel 2016
merci pour le fichier
voila parfait il faudrait juste que quand je clic dans le calendrier s affiche devant moi le jour avec les 15 colonnes
je suis en version excel 2016
merci pour le fichier
Bonjour,
le 12 septembre tu as déjà posé la même demande, pourquoi ouvrir une nouvelle discussion en doublon
https://forums.commentcamarche.net/forum/affich-35580305-soucis-avec-les-mises-en-forme-conditionnelle
surtout que tu avais la solution avec ce classeur !
https://www.cjoint.com/c/HJljA3A53lj
le 12 septembre tu as déjà posé la même demande, pourquoi ouvrir une nouvelle discussion en doublon
https://forums.commentcamarche.net/forum/affich-35580305-soucis-avec-les-mises-en-forme-conditionnelle
surtout que tu avais la solution avec ce classeur !
https://www.cjoint.com/c/HJljA3A53lj
bonjour
oui juste tu as raison
j ai la solution tout en poche
j aurais juste voulu savoir comment le reproduire d une autre manière sans utiliser de macro
merci de l aide et la reponse
oui juste tu as raison
j ai la solution tout en poche
j aurais juste voulu savoir comment le reproduire d une autre manière sans utiliser de macro
merci de l aide et la reponse
Décidemment ! Clique sur les liens ci-dessous, en bleu :
https://forums.commentcamarche.net/forum/affich-35626592-comment-rendre-invisible-ensemble-de-cellule#1
https://forums.commentcamarche.net/forum/affich-35626592-comment-rendre-invisible-ensemble-de-cellule#2
https://forums.commentcamarche.net/forum/affich-35626592-comment-rendre-invisible-ensemble-de-cellule#1
https://forums.commentcamarche.net/forum/affich-35626592-comment-rendre-invisible-ensemble-de-cellule#2
Bonsoir
Une idée avec des hyperliens mais un peu long à mettre en place
https://www.cjoint.com/c/HJlqEODpvP7
Cordialement
Une idée avec des hyperliens mais un peu long à mettre en place
https://www.cjoint.com/c/HJlqEODpvP7
Cordialement
bonsoir
oui je trouve cela plutôt assez sympa comme idée
pourrait on le faire avec un mini calendrier par exemple ou l on choisi la date grace a la souris
merci pour le fichier
oui je trouve cela plutôt assez sympa comme idée
pourrait on le faire avec un mini calendrier par exemple ou l on choisi la date grace a la souris
merci pour le fichier
Bonjour,
https://www.cjoint.com/c/HJmeLDcpLX7
Je te laisse continuer la mise en place - dans l'exemple les colonnes grises restent apparentes ; celles en jaune sont à masquer - ainsi tu auras ton mini calendrier.
Je ne saurai trop te conseiller de faire un feuillet par mois - tu n'aurais donc qu'une seule fois la colonne F de feuillet 2 qui servirait pour toute l'année.
J'essaye ça dans la journée et j'envoie un exemple.
Cordialement
https://www.cjoint.com/c/HJmeLDcpLX7
Je te laisse continuer la mise en place - dans l'exemple les colonnes grises restent apparentes ; celles en jaune sont à masquer - ainsi tu auras ton mini calendrier.
Je ne saurai trop te conseiller de faire un feuillet par mois - tu n'aurais donc qu'une seule fois la colonne F de feuillet 2 qui servirait pour toute l'année.
J'essaye ça dans la journée et j'envoie un exemple.
Cordialement
Re,
bien sur le problème peut se traiter par formule, mais bonjour le nombre de formule et la taille du fichier pour traiter 365 jours, sans parler de lenteur, déjà pour traiter 7 jours, 160 KO.
A la taille du fichier qui semble être un agenda, viendra certainement s'ajouter les saisis sur 50 lignes et 1100 colonnes
Comme le soulignait l'ami Raymond que je salue, ce problème ne peut se traiter que par VBA
une solution a été donnée sur la discussion initiale
https://forums.commentcamarche.net/forum/affich-35580305-soucis-avec-les-mises-en-forme-conditionnelle
avec ce classeur 36 KO
https://www.cjoint.com/c/HJljA3A53lj
et ce simple code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B3")) Is Nothing Then
On Error Resume Next
Application.ScreenUpdating = False
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = (Target.Value * 1 - DateSerial(Year([B3]), 1, 1) * 1) * 3 + 3
Application.ScreenUpdating = True
End If
End Sub
En VBA il est possible d'écrire un code pour afficher que les colonnes souhaitées, de dimensionner les colonnes affichées pour à peine 50 KO avec ce code qui peut être couplé à une liste de validation ou un bouton
Private Sub CommandButton1_Click()
Dim CellAdress, target, c As Range
Dim i As Integer
On Error Resume Next
Application.ScreenUpdating = False
Columns("C:APH").EntireColumn.Hidden = False
Columns("C:APH").ColumnWidth = 10
Range("B3:APH3").NumberFormat = "General"
With ActiveSheet.Range("C3:APH3")
Set c = .Find([B3], LookIn:=xlValues)
If Not c Is Nothing Then
CellAdress = c.Address
End If
End With
Range(CellAdress).Select
For i = 2 To 1100
If Cells(3, i) <> [B3] Then
Cells(3, i).EntireColumn.Hidden = True
Else
Cells(3, i).EntireColumn.Hidden = False
End If
Next i
ActiveCell.Offset(-1, 0).Select
Range(ActiveCell, ActiveCell.Offset(0, 2)).Select
Selection.EntireColumn.Hidden = False
Selection.ColumnWidth = 30
Range("C3:APH3").NumberFormat = "dddd dd/mm/yyyy"
[B3].NumberFormat = "dd/mm/yyyy"
Application.ScreenUpdating = True
End Sub
bien sur le problème peut se traiter par formule, mais bonjour le nombre de formule et la taille du fichier pour traiter 365 jours, sans parler de lenteur, déjà pour traiter 7 jours, 160 KO.
A la taille du fichier qui semble être un agenda, viendra certainement s'ajouter les saisis sur 50 lignes et 1100 colonnes
Comme le soulignait l'ami Raymond que je salue, ce problème ne peut se traiter que par VBA
une solution a été donnée sur la discussion initiale
https://forums.commentcamarche.net/forum/affich-35580305-soucis-avec-les-mises-en-forme-conditionnelle
avec ce classeur 36 KO
https://www.cjoint.com/c/HJljA3A53lj
et ce simple code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B3")) Is Nothing Then
On Error Resume Next
Application.ScreenUpdating = False
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = (Target.Value * 1 - DateSerial(Year([B3]), 1, 1) * 1) * 3 + 3
Application.ScreenUpdating = True
End If
End Sub
En VBA il est possible d'écrire un code pour afficher que les colonnes souhaitées, de dimensionner les colonnes affichées pour à peine 50 KO avec ce code qui peut être couplé à une liste de validation ou un bouton
Private Sub CommandButton1_Click()
Dim CellAdress, target, c As Range
Dim i As Integer
On Error Resume Next
Application.ScreenUpdating = False
Columns("C:APH").EntireColumn.Hidden = False
Columns("C:APH").ColumnWidth = 10
Range("B3:APH3").NumberFormat = "General"
With ActiveSheet.Range("C3:APH3")
Set c = .Find([B3], LookIn:=xlValues)
If Not c Is Nothing Then
CellAdress = c.Address
End If
End With
Range(CellAdress).Select
For i = 2 To 1100
If Cells(3, i) <> [B3] Then
Cells(3, i).EntireColumn.Hidden = True
Else
Cells(3, i).EntireColumn.Hidden = False
End If
Next i
ActiveCell.Offset(-1, 0).Select
Range(ActiveCell, ActiveCell.Offset(0, 2)).Select
Selection.EntireColumn.Hidden = False
Selection.ColumnWidth = 30
Range("C3:APH3").NumberFormat = "dddd dd/mm/yyyy"
[B3].NumberFormat = "dd/mm/yyyy"
Application.ScreenUpdating = True
End Sub
re mike
un mega grand merci pour ton aide
je laisse donc tomber l histoire de passer autrement que par du VBA pour réaliser ce genre de code
je m y connais un tout petit peu en excel mais le VBA pour moi c est nouveau
et j y suis un peu perdu ,surtout si un jour je suis amené a modifier le fichier pour une raison quelconque
y a t il moyen d exécuter ce code VBA ligne par ligne afin de comprendre ce qu il fait
ou alors faut il passer par la case apprentissage
merci de l aide
un mega grand merci pour ton aide
je laisse donc tomber l histoire de passer autrement que par du VBA pour réaliser ce genre de code
je m y connais un tout petit peu en excel mais le VBA pour moi c est nouveau
et j y suis un peu perdu ,surtout si un jour je suis amené a modifier le fichier pour une raison quelconque
y a t il moyen d exécuter ce code VBA ligne par ligne afin de comprendre ce qu il fait
ou alors faut il passer par la case apprentissage
merci de l aide