Caché une partie d'un tableau
Résolu/Fermé
anthony
-
31 janv. 2013 à 07:47
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 31 janv. 2013 à 23:07
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 31 janv. 2013 à 23:07
A voir également:
- Caché une partie d'un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Appel caché - Guide
9 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
31 janv. 2013 à 07:51
31 janv. 2013 à 07:51
Salut,
Oui c'est possible, regarde cette discussion, si c'est une approche à tes attentes on en rediscute
https://forums.commentcamarche.net/forum/affich-26652247-masquer-par-macro-une-colonne-selon-la-valeur-d-une-cellule
Oui c'est possible, regarde cette discussion, si c'est une approche à tes attentes on en rediscute
https://forums.commentcamarche.net/forum/affich-26652247-masquer-par-macro-une-colonne-selon-la-valeur-d-une-cellule
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 31/01/2013 à 09:39
Modifié par Mike-31 le 31/01/2013 à 09:39
Re,
Clic droit sur l'onglet de ta feuille/Visualiser le code et colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("R11")) Is Nothing Then
If Range("R11") = "Non" Then Range("A27:A39").EntireRow.Hidden = True
If Range("R11") = "Oui" Then Range("A27:A39").EntireRow.Hidden = False
End If
End Sub
ou comme cela
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [R11]) Is Nothing Then
If [R11] = "Non" Then [A27:A39].EntireRow.Hidden = True
If [R11] = "Oui" Then [A27:A39].EntireRow.Hidden = False
End If
End Sub
lorsque tu saisis Non les lignes se masquent et Oui elles s'affichent. Attention aux majuscules et minucules, il faut respecter les consignes saisies dans le code qui peuvent être multiples.
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Clic droit sur l'onglet de ta feuille/Visualiser le code et colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("R11")) Is Nothing Then
If Range("R11") = "Non" Then Range("A27:A39").EntireRow.Hidden = True
If Range("R11") = "Oui" Then Range("A27:A39").EntireRow.Hidden = False
End If
End Sub
ou comme cela
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [R11]) Is Nothing Then
If [R11] = "Non" Then [A27:A39].EntireRow.Hidden = True
If [R11] = "Oui" Then [A27:A39].EntireRow.Hidden = False
End If
End Sub
lorsque tu saisis Non les lignes se masquent et Oui elles s'affichent. Attention aux majuscules et minucules, il faut respecter les consignes saisies dans le code qui peuvent être multiples.
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
RE,
Merci cela fonctionne,
Maintenant qu ej esais faire ca je me dis que je peux le refaire sur d'autre partie du tableau.
Je recopi la formule et change uniquement les numéros de ligne et de la céllule qui contient le "oui et non", changers pour les besoin en "Eté et Automne".
Et la tout bloque que ce soit pour la céllule R11 ou la céllule E11(nouvelle condition), il met :
"Nom ambigu détecté : Worksheet_Change"
Si je supprime la 2ème conditions la 1ère remarche.
Merci de ton aide
Merci cela fonctionne,
Maintenant qu ej esais faire ca je me dis que je peux le refaire sur d'autre partie du tableau.
Je recopi la formule et change uniquement les numéros de ligne et de la céllule qui contient le "oui et non", changers pour les besoin en "Eté et Automne".
Et la tout bloque que ce soit pour la céllule R11 ou la céllule E11(nouvelle condition), il met :
"Nom ambigu détecté : Worksheet_Change"
Si je supprime la 2ème conditions la 1ère remarche.
Merci de ton aide
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 31/01/2013 à 13:31
Modifié par Mike-31 le 31/01/2013 à 13:31
Re,
un code VBA est très précis, si tu changes la cellule critère R11, il faut en tenir compte dans le code, comme le critère si tu prévois Non dans le code , non minuscule ne fonctionnera pas de même dans une propriété feuille tu ne peux avoir qu'une seule ligne avec
Private Sub Worksheet_Change(ByVal Target As Range)
et dans ton cas tu l'as certainement doublé d'ou ce message d'erreur
Si tu n'y arrives pas explique sur quelles cellules et lignes tu veux appliquer le code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
un code VBA est très précis, si tu changes la cellule critère R11, il faut en tenir compte dans le code, comme le critère si tu prévois Non dans le code , non minuscule ne fonctionnera pas de même dans une propriété feuille tu ne peux avoir qu'une seule ligne avec
Private Sub Worksheet_Change(ByVal Target As Range)
et dans ton cas tu l'as certainement doublé d'ou ce message d'erreur
Si tu n'y arrives pas explique sur quelles cellules et lignes tu veux appliquer le code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
J'aimerais qu'en plus de la première condition, que si la céllule E11 = "Eté";
alors mes lignes 40 à 55 disparaiteront, sinon elle restent
Encoe merci
J'aimerais qu'en plus de la première condition, que si la céllule E11 = "Eté";
alors mes lignes 40 à 55 disparaiteront, sinon elle restent
Encoe merci
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
31 janv. 2013 à 14:59
31 janv. 2013 à 14:59
Re,
en clair si R11 Non masque les lignes 27 à 39 Oui les affichent
et si cellule Eté en E11 masque ligne de 40 à 55 et quel est le code pour afficher ces lignes (tu peux d'ailleurs avoir le même code en R11 et E11 comme Open pour afficher les lignes respectives)
en clair si R11 Non masque les lignes 27 à 39 Oui les affichent
et si cellule Eté en E11 masque ligne de 40 à 55 et quel est le code pour afficher ces lignes (tu peux d'ailleurs avoir le même code en R11 et E11 comme Open pour afficher les lignes respectives)
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
31 janv. 2013 à 17:38
31 janv. 2013 à 17:38
Re,
comme je t'ai dit un code VBA doit être très précis alors
R11 si Non alors masque les lignes 27 à 39
E11 si Eté masque les lignes 40 à 55
AB11 si Oui ça affiche quelle ligne ?
AB11 si Non ça masque quelle ligne ?
quel est le mot de passe pour afficher les lignes 27 à 39 et 40 à 50
comme je t'ai dit un code VBA doit être très précis alors
R11 si Non alors masque les lignes 27 à 39
E11 si Eté masque les lignes 40 à 55
AB11 si Oui ça affiche quelle ligne ?
AB11 si Non ça masque quelle ligne ?
quel est le mot de passe pour afficher les lignes 27 à 39 et 40 à 50
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 31/01/2013 à 23:12
Modifié par Mike-31 le 31/01/2013 à 23:12
Re,
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([E11], [R11], [AB11])) Is Nothing Then
If [E11] <> "Hiver" Then [A40:A55].EntireRow.Hidden = True
If [E11] = "Hiver" Then [A40:A55].EntireRow.Hidden = False
If [R11] = "Non" Then [A27:A39].EntireRow.Hidden = True
If [R11] = "Oui" Then [A27:A39].EntireRow.Hidden = False
If [AB11] = "Oui" Then [A56:A70].EntireRow.Hidden = True
If [AB11] = "Non" Then [A56:A70].EntireRow.Hidden = False
End If
End Sub
en résume en E11 = Hiver affiche lignes 40 à 55 et si E11 différent d'hiver Masque les lignes
en R11 Non masque les lignes 27 à 39 et Oui affiche les lignes
Pour AB 11 j'ai fait le contraire Ouyi masque et Non affiche
en AB11 Oui masque les lignes 56 à 70 et Non les masque
A toi de jouer
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([E11], [R11], [AB11])) Is Nothing Then
If [E11] <> "Hiver" Then [A40:A55].EntireRow.Hidden = True
If [E11] = "Hiver" Then [A40:A55].EntireRow.Hidden = False
If [R11] = "Non" Then [A27:A39].EntireRow.Hidden = True
If [R11] = "Oui" Then [A27:A39].EntireRow.Hidden = False
If [AB11] = "Oui" Then [A56:A70].EntireRow.Hidden = True
If [AB11] = "Non" Then [A56:A70].EntireRow.Hidden = False
End If
End Sub
en résume en E11 = Hiver affiche lignes 40 à 55 et si E11 différent d'hiver Masque les lignes
en R11 Non masque les lignes 27 à 39 et Oui affiche les lignes
Pour AB 11 j'ai fait le contraire Ouyi masque et Non affiche
en AB11 Oui masque les lignes 56 à 70 et Non les masque
A toi de jouer
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
31 janv. 2013 à 23:07
31 janv. 2013 à 23:07
Avec plaisir N'hésite pas à revenir sur la discussion si tu rencontres des problèmes
Cordialement
Cordialement
31 janv. 2013 à 09:12
Merci apparament c'es t ce que je recherche sauf que mos c'est des lignes et je suis nul en vba et je n'arrive pas à transposer, voici ce que j'aimerais faire :
Si ma céllule RS11(céllule fusionnée)="non"; alors mes lignes 27 à 39 disparaissent.
Merci de ton aide