OVH Cloud OVH Cloud

histoire d'onglet

5 réponses
Avatar
damien
bonjour

qui peux me faire le vba?

voila ce que je veux faire
quand je saisie en c3 "isabelle moreau", je veux que ca AFFICHE un onglet
nomée "isabelle"
quand je saisie en c4 "damien guilbert", je veux que ca CACHE un onglet
nomée "damien"

mais aussi
quand je suprime le nom en c3 "isabelle moreau" je souhaite avoir un
userform disant '"etes vous sûr?" et quand on dit oui l'onglet "isabelle
moreau " est CACHE
merci

5 réponses

Avatar
Daniel
Bonsoir.
Mets la macro suivante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$3" Then
If Target.Value = "isabelle moreau" Then
Sheets.Add.Name = "isabelle"
ElseIf Target.Value = "" Then
Application.DisplayAlerts = False
Sheets("isabelle").Delete
Application.DisplayAlerts = True
End If
Exit Sub
End If
If Target.Address = "$C$4" Then
If Target.Value = "damien guilbert" Then
Sheets.Add.Name = "damien"
ElseIf Target.Value = "" Then
Application.DisplayAlerts = False
Sheets("damien").Delete
Application.DisplayAlerts = True
End If
Exit Sub
End If
End Sub

Cordialement.
Daniel
"damien" a écrit dans le message de news:
44a9683c$0$6161$
bonjour

qui peux me faire le vba?

voila ce que je veux faire
quand je saisie en c3 "isabelle moreau", je veux que ca AFFICHE un onglet
nomée "isabelle"
quand je saisie en c4 "damien guilbert", je veux que ca CACHE un onglet
nomée "damien"

mais aussi
quand je suprime le nom en c3 "isabelle moreau" je souhaite avoir un
userform disant '"etes vous sûr?" et quand on dit oui l'onglet "isabelle
moreau " est CACHE
merci




Avatar
Daniel
Hem, au temps pour moi.
Daniel
"Daniel" a écrit dans le message de news:

Bonsoir.
Mets la macro suivante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$3" Then
If Target.Value = "isabelle moreau" Then
Sheets.Add.Name = "isabelle"
ElseIf Target.Value = "" Then
Application.DisplayAlerts = False
Sheets("isabelle").Delete
Application.DisplayAlerts = True
End If
Exit Sub
End If
If Target.Address = "$C$4" Then
If Target.Value = "damien guilbert" Then
Sheets.Add.Name = "damien"
ElseIf Target.Value = "" Then
Application.DisplayAlerts = False
Sheets("damien").Delete
Application.DisplayAlerts = True
End If
Exit Sub
End If
End Sub

Cordialement.
Daniel
"damien" a écrit dans le message de news:
44a9683c$0$6161$
bonjour

qui peux me faire le vba?

voila ce que je veux faire
quand je saisie en c3 "isabelle moreau", je veux que ca AFFICHE un
onglet
nomée "isabelle"
quand je saisie en c4 "damien guilbert", je veux que ca CACHE un onglet
nomée "damien"

mais aussi
quand je suprime le nom en c3 "isabelle moreau" je souhaite avoir un
userform disant '"etes vous sûr?" et quand on dit oui l'onglet "isabelle
moreau " est CACHE
merci








Avatar
damien
merci daniel ca marche

sauf qu il faudrai rectifie 3 points sur le prog

1) a lorigine dans la feuille excel je n ai que la feuille 1
2) quand on ecrit isabellle moreau en feuille1 c3 il met isabelle (c est ok)
mais je souhaite inscrire un autre nom en c3 (ex dede rene) il faudrait qu
il rennome la feuille 1 en dede

3) quand on met en c3 "isabelle moreau il affiche la feuille 1 nommée
isabelle (c est ok) dans cette feuille il y aura des formules or quand on
retire le nom isable il efface la feuille, ce qu il me faut, c est qu'il l'a
cache car il gardera les formules meme si je renom la feuille d un autre nom

merci beaucoup
(c scrip est un peu trop compliquer pour moi)!!!!
Avatar
Daniel
Bonjour.
Essaie :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Var As Integer
If Target.Address = "$A$1" Then
Select Case Target.Value
Case "isabelle moreau"
Sheets(2).Name = "isabelle"
Sheets(2).Visible = False
Case ""
Var = MsgBox("Etes-vous sûr ?", vbOKCancel)
If Var = 1 Then
Sheets(2).Visible = True
End If
Case Else
Sheets(2).Name = Target.Value
Sheets(2).Visible = True
End Select
ElseIf Target.Address = "$A$2" Then
End If
Select Case Target.Value
Case "damien guilbert"
Sheets(3).Name = "damien"
Sheets(3).Visible = True
Case ""
Var = MsgBox("Etes-vous sûr ?", vbOKCancel)
If Var = 1 Then
Sheets(3).Visible = False
End If
Case Else
Sheets(3).Name = Target.Value
Sheets(3).Visible = True
End Select
End Sub

Cordialement.
Daniel
"damien" a écrit dans le message de news:
44a98004$0$10254$
merci daniel ca marche

sauf qu il faudrai rectifie 3 points sur le prog

1) a lorigine dans la feuille excel je n ai que la feuille 1
2) quand on ecrit isabellle moreau en feuille1 c3 il met isabelle (c est
ok)
mais je souhaite inscrire un autre nom en c3 (ex dede rene) il faudrait qu
il rennome la feuille 1 en dede

3) quand on met en c3 "isabelle moreau il affiche la feuille 1 nommée
isabelle (c est ok) dans cette feuille il y aura des formules or quand on
retire le nom isable il efface la feuille, ce qu il me faut, c est qu'il
l'a cache car il gardera les formules meme si je renom la feuille d un
autre nom

merci beaucoup
(c scrip est un peu trop compliquer pour moi)!!!!





Avatar
damien
arf !!!!!!!!!!

c est presque bon mais c est pas encore tout a fait ca

:-(

J ai testé le programme

Voici ce ki ne peut pas marcher et mes attentes :

Dans la cellule a1 de la feuille 1
on ecrit isabelle moreau :

L'onglet feuille 2 s'active et devient visible. c est ok elle se nomme
isabelle.

Quand je supprime le nom de la cellule a1 de la feuille 1 ("isabelle
moreau"), la feuille 2 ne se cache pas. Elle devrait se cacher
(sheet2.visibleúlse)
de plus si je resaisi en a1 feuille 1 un nouveau nom (car par exemple cette
collaboratrice a demissioné) :
ex "arnaud"
il y a une erreur il faudrait que la feuille 1 redevienne visible avec le
nom arnaud.

En gros la cellule a1 de la feuille 1 marche avec la feuille 2 qui devient
visible ou pas

Sur le meme principe

La cellule a2 de la feuille 1 marche avec la feuille 3 qui devient visible
ou pas.
En a2 de la feuille1, je saisie "dede". La feuille 3 s'active et le nom de
l'onglet est "dede".

Quand je supprime le nom de la cellule a2 de la feuille 1 ("dede") la
feuille devra se cacher.
De plus si je resaisi en a2 feuille 1 un nouveau nom (car par exemple dede a
demissioné) il y a l'embauche de "gaston".
La feuille 3 redevient visible avec le nom d'onglet gaston.

je prevois 10 collaborateurs comme ca de la feuille 2 à la feuille 12

Note :
Dans les feuilles 2 à 12 il y aura des formules. je les saisisrais 1 fois.
C est pour ca que je veux que les feuille se cache et s'affiche (pour garder
les formules)
car la notion add/delete me fais perdre les formules de base des feuilles 2
à 12 (j avais prevue des plannings dans les feuilles 2 à 12)

c est vraiment simpa de ton aide car ca commence à devenir complexe mon
prog
gerer une bare d'outil ca va mais je ne sais pas gerer en vba des "si
conditionné"

c est trop fort pour moi

merci beaucoup

j aii remis le script vba

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Var As Integer
If Target.Address = "$A$1" Then
Select Case Target.Value
Case "isabelle moreau"
Sheets(2).Name = "isabelle"
Sheets(2).Visible = False
Case ""
Var = MsgBox("Etes-vous sûr ?", vbOKCancel)
If Var = 1 Then
Sheets(2).Visible = True
End If
Case Else
Sheets(2).Name = Target.Value
Sheets(2).Visible = True
End Select
ElseIf Target.Address = "$A$2" Then
End If
Select Case Target.Value
Case "damien guilbert"
Sheets(3).Name = "damien"
Sheets(3).Visible = True
Case ""
Var = MsgBox("Etes-vous sûr ?", vbOKCancel)
If Var = 1 Then
Sheets(3).Visible = False
End If
Case Else
Sheets(3).Name = Target.Value
Sheets(3).Visible = True
End Select
End Sub