Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

code VBA

14 réponses
Avatar
Louis
Bonjour

J'ai une feuil avec une cellule A1 de validation. je peux choisir dans la
cellule oui ou non.
Exciste-t-il un code VBA pour masquer les lignes A36 et suivante, des le
moment que j'ai choisi non. Bien entendu les lignes doivent réapparaitre si
je selectionne oui

Merci de m'aider

Louis

4 réponses

1 2
Avatar
Louis
Désolé mesieur mais je suis vraiment nul.
Isteph j'ai ajouter le code et cela fonctionne seulement ma feuill1
s'appelle Zusammenfassung et la feuil 2 = resultate. si je modifie ton code
avec les appelations ci-dessus rien ne fonctionne.
En utilisant le code que tu m'a donné c'est la feuill3 qui se modifie qui
elle s'appelle Plateauphasexxxxx .
est ce que je fais quelque chose de faux

Merci

Louis


Bonjour,
dans le code de Feuil1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then _
Feuil2.activate
Feuil2.[36:65536].EntireRow.Hidden = LCase(Feuil1.[a1]) = "oui"
End Sub


'lSteph

On 10 sep, 16:06, Louis wrote:
Bonjour philipp

Merci pour l'info, mais je préfère une macro qui quand la celule a1 de la
feuille 1
est non les lignes A36 à a65000 de la feuille 2 soient cachées. Désolé de te
mettre a rude contribution

Louis


Bonjour,
Le code donné se rapporte à la feuille qui l'accueille ; on utilise là
l'évènement change, qui ne peut se référer à une autre feuille.
Tu peux essayer, toujours dans la page de code de la feuille, après avoir
nommé la cellule de l'autre feuille "ouinon" :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If [ouinon] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
Cancel = True
End Sub

sur clic droit, les lignes seront affichées ou cachées selon la valeur de
ouinon
--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message de
news:
Bonjour

J'ai utiliser le code et ça fonctionne. Super.

Par contre j'ai voulu essayer le code en utilisant une celule qui se
trouve
sur une autre feuille et ca ne fonctionne pas. Est ce possible?

Merci




Bonjour,

Clic droit sur l'onglet de la feuille concernée / visualiser le code /
coller ce qui suit dans la fenêtre VBE qui s'est ouverte :

Private Sub Worksheet_Change(ByVal Target As Range)
If [a1] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
End Sub

--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message de
news:
Bonjour

J'ai une feuil avec une cellule A1 de validation. je peux choisir dans
la
cellule oui ou non.
Exciste-t-il un code VBA pour masquer les lignes A36 et suivante, des
le
moment que j'ai choisi non. Bien entendu les lignes doivent
réapparaitre
si
je selectionne oui

Merci de m'aider

Louis















Avatar
Daniel.C
Bonjour.
Dans le code que tu cites, c'est le codename, pas le nom de la feuille qui
est employé. Tu trouves le codename dans la fenêtre VBE à côté du nom de la
feuille, lequel est entre parenthèses. Le codename ne varie pas, quel que
soit le nom que tu donnes à la feuille.
Cordialement.
Daniel
"Louis" a écrit dans le message de news:

Désolé mesieur mais je suis vraiment nul.
Isteph j'ai ajouter le code et cela fonctionne seulement ma feuill1
s'appelle Zusammenfassung et la feuil 2 = resultate. si je modifie ton
code
avec les appelations ci-dessus rien ne fonctionne.
En utilisant le code que tu m'a donné c'est la feuill3 qui se modifie qui
elle s'appelle Plateauphasexxxxx .
est ce que je fais quelque chose de faux

Merci

Louis


Bonjour,
dans le code de Feuil1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then _
Feuil2.activate
Feuil2.[36:65536].EntireRow.Hidden = LCase(Feuil1.[a1]) = "oui"
End Sub


'lSteph

On 10 sep, 16:06, Louis wrote:
Bonjour philipp

Merci pour l'info, mais je préfère une macro qui quand la celule a1 de
la
feuille 1
est non les lignes A36 à a65000 de la feuille 2 soient cachées. Désolé
de te
mettre a rude contribution

Louis


Bonjour,
Le code donné se rapporte à la feuille qui l'accueille ; on utilise

l'évènement change, qui ne peut se référer à une autre feuille.
Tu peux essayer, toujours dans la page de code de la feuille, après
avoir
nommé la cellule de l'autre feuille "ouinon" :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel
As
Boolean)
If [ouinon] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
Cancel = True
End Sub

sur clic droit, les lignes seront affichées ou cachées selon la
valeur de
ouinon
--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message de
news:
Bonjour

J'ai utiliser le code et ça fonctionne. Super.

Par contre j'ai voulu essayer le code en utilisant une celule qui
se
trouve
sur une autre feuille et ca ne fonctionne pas. Est ce possible?

Merci




Bonjour,

Clic droit sur l'onglet de la feuille concernée / visualiser le
code /
coller ce qui suit dans la fenêtre VBE qui s'est ouverte :

Private Sub Worksheet_Change(ByVal Target As Range)
If [a1] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
End Sub

--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message
de
news:
Bonjour

J'ai une feuil avec une cellule A1 de validation. je peux
choisir dans
la
cellule oui ou non.
Exciste-t-il un code VBA pour masquer les lignes A36 et
suivante, des
le
moment que j'ai choisi non. Bien entendu les lignes doivent
réapparaitre
si
je selectionne oui

Merci de m'aider

Louis

















Avatar
lSteph
Bonjour,

Désolé mesieur mais je suis vraiment nul.
Non il faut juste savoir ceci:

Dans Excel la position et le nom que l'on donne aux feuilles peut être
modifié par l'utilisateur, c'est pourquoi dans le code je désigne les
objets par leur CodeName (nom de la feuille dans VBA)
Pour t'en arranger et mieux comprendre, va dans VBE (alt+F11)

Ainsi on peut très bien y trouver indépendamment avoir
Feuil1(Feuil3)
Feuil2(Feuil1)
Feuil4(resultate)
Feuil3(Zusammenfassung)

Donc pour procèder
avec les appellations
on mettra cette appellation en paramètre de WorkSheets


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then _
WorkSheets("resultate").activate
WorkSheets("resultate").[36:65536].EntireRow.Hidden = _
LCase( WorkSheets("Zusammenfassung").[a1]) = "oui"
End Sub

'lSteph

On 11 sep, 10:30, Louis wrote:
Désolé mesieur mais je suis vraiment nul.
Isteph j'ai ajouter le code et cela fonctionne seulement ma feuill1
s'appelle Zusammenfassung et la feuil 2 = resultate. si je modifie ton code
avec les appelations ci-dessus rien ne fonctionne.
En utilisant le code que tu m'a donné c'est la feuill3 qui se modifie q ui
elle s'appelle Plateauphasexxxxx .
est ce que je fais quelque chose de faux

Merci

Louis


Bonjour,
dans le code de Feuil1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then _
Feuil2.activate
Feuil2.[36:65536].EntireRow.Hidden = LCase(Feuil1.[a1]) = "oui"
End Sub

'lSteph

On 10 sep, 16:06, Louis wrote:
Bonjour philipp

Merci pour l'info, mais je préfère une macro qui quand la celule a1 de la
feuille 1
est non les lignes A36 à a65000 de la feuille 2 soient cachées. D ésolé de te
mettre a rude contribution

Louis




Bonjour,
Le code donné se rapporte à la feuille qui l'accueille ; on uti lise là
l'évènement change, qui ne peut se référer à une autre fe uille.
Tu peux essayer, toujours dans la page de code de la feuille, apr ès avoir
nommé la cellule de l'autre feuille "ouinon" :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cance l As
Boolean)
If [ouinon] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
Cancel = True
End Sub

sur clic droit, les lignes seront affichées ou cachées selon la valeur de
ouinon
--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message de
news:
Bonjour

J'ai utiliser le code et ça fonctionne. Super.

Par contre j'ai voulu essayer le code en utilisant une celule qui se
trouve
sur une autre feuille et ca ne fonctionne pas. Est ce possible?

Merci






Bonjour,

Clic droit sur l'onglet de la feuille concernée / visualiser l e code /
coller ce qui suit dans la fenêtre VBE qui s'est ouverte :

Private Sub Worksheet_Change(ByVal Target As Range)
If [a1] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
End Sub

--
Avec plaisir
Philippe.R
"Louis" a écrit dans le mess age de
news:
Bonjour

J'ai une feuil avec une cellule A1 de validation. je peux choi sir dans
la
cellule oui ou non.
Exciste-t-il un code VBA pour masquer les lignes A36 et suivan te, des
le
moment que j'ai choisi non. Bien entendu les lignes doivent
réapparaitre
si
je selectionne oui

Merci de m'aider

Louis














Avatar
Louis
Bonjour encore

J'ose te demander encore une information?

J'ai utilé ton code et il fonctionne trés bien. J'ai du modifier la feuille
et maintenant j'aimerai pouvoir afficher seulement les cellules nécessaire ou
feuille .Le total des feuillets inclus dans la feuil Resultate est de 24 .
Les colonne s'efface sans crées de problème mais maintenant pour les lignes
HELP!!
Voila le code que je voulais faire:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [I12]) Is Nothing Then _
Feuil6.Activate
Feuil6.[AH:BN].EntireColumn.Hidden = LCase(Feuil1.[I12]) = "nein"

If Not Intersect(Target, [b8]) Is Nothing Then _
Feuil6.Activate
Feuil6.[a36:a385].EntireRow.Hidden = LCase(Feuil1.[b8]) = "2"

If Not Intersect(Target, [b8]) Is Nothing Then _
Feuil6.Activate
Feuil6.[a1:a315].EntireRow.Hidden = LCase(Feuil1.[b8]) = "11"
Feuil6.[a351:a385].EntireRow.Hidden = LCase(Feuil1.[b8]) = "11"

Sheets("Zusammenfassung").Select
Range("B14").Select

End Sub

Désolé de te déranger mais merci d'avance

Louis





Bonjour,

Désolé mesieur mais je suis vraiment nul.
Non il faut juste savoir ceci:

Dans Excel la position et le nom que l'on donne aux feuilles peut être
modifié par l'utilisateur, c'est pourquoi dans le code je désigne les
objets par leur CodeName (nom de la feuille dans VBA)
Pour t'en arranger et mieux comprendre, va dans VBE (alt+F11)

Ainsi on peut très bien y trouver indépendamment avoir
Feuil1(Feuil3)
Feuil2(Feuil1)
Feuil4(resultate)
Feuil3(Zusammenfassung)

Donc pour procèder
avec les appellations
on mettra cette appellation en paramètre de WorkSheets


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then _
WorkSheets("resultate").activate
WorkSheets("resultate").[36:65536].EntireRow.Hidden = _
LCase( WorkSheets("Zusammenfassung").[a1]) = "oui"
End Sub

'lSteph

On 11 sep, 10:30, Louis wrote:
Désolé mesieur mais je suis vraiment nul.
Isteph j'ai ajouter le code et cela fonctionne seulement ma feuill1
s'appelle Zusammenfassung et la feuil 2 = resultate. si je modifie ton code
avec les appelations ci-dessus rien ne fonctionne.
En utilisant le code que tu m'a donné c'est la feuill3 qui se modifie qui
elle s'appelle Plateauphasexxxxx .
est ce que je fais quelque chose de faux

Merci

Louis


Bonjour,
dans le code de Feuil1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then _
Feuil2.activate
Feuil2.[36:65536].EntireRow.Hidden = LCase(Feuil1.[a1]) = "oui"
End Sub

'lSteph

On 10 sep, 16:06, Louis wrote:
Bonjour philipp

Merci pour l'info, mais je préfère une macro qui quand la celule a1 de la
feuille 1
est non les lignes A36 à a65000 de la feuille 2 soient cachées. Désolé de te
mettre a rude contribution

Louis




Bonjour,
Le code donné se rapporte à la feuille qui l'accueille ; on utilise là
l'évènement change, qui ne peut se référer à une autre feuille.
Tu peux essayer, toujours dans la page de code de la feuille, après avoir
nommé la cellule de l'autre feuille "ouinon" :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If [ouinon] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
Cancel = True
End Sub

sur clic droit, les lignes seront affichées ou cachées selon la valeur de
ouinon
--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message de
news:
Bonjour

J'ai utiliser le code et ça fonctionne. Super.

Par contre j'ai voulu essayer le code en utilisant une celule qui se
trouve
sur une autre feuille et ca ne fonctionne pas. Est ce possible?

Merci






Bonjour,

Clic droit sur l'onglet de la feuille concernée / visualiser le code /
coller ce qui suit dans la fenêtre VBE qui s'est ouverte :

Private Sub Worksheet_Change(ByVal Target As Range)
If [a1] = "non" Then
Range("a36:a65536").EntireRow.Hidden = True
Else
Range("a36:a65536").EntireRow.Hidden = False
End If
End Sub

--
Avec plaisir
Philippe.R
"Louis" a écrit dans le message de
news:
Bonjour

J'ai une feuil avec une cellule A1 de validation. je peux choisir dans
la
cellule oui ou non.
Exciste-t-il un code VBA pour masquer les lignes A36 et suivante, des
le
moment que j'ai choisi non. Bien entendu les lignes doivent
réapparaitre
si
je selectionne oui

Merci de m'aider

Louis



















1 2