OVH Cloud OVH Cloud

masquer colonnes si ...

10 réponses
Avatar
Marc
Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse à
mes besoins, je l'avais mal posée... donc je recommence en essayant d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc

10 réponses

Avatar
papou
Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse à
mes besoins, je l'avais mal posée... donc je recommence en essayant d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc


Avatar
Marc
Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse à
mes besoins, je l'avais mal posée... donc je recommence en essayant d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc







Avatar
Marc
re hello,
j'avais oublié de dire que le débogueur signal la ligne "Loop While Not
Atrouver Is Nothing And Atrouver.Address <>"
merci encore @+


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse à
mes besoins, je l'avais mal posée... donc je recommence en essayant d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc







Avatar
papou
Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse
à
mes besoins, je l'avais mal posée... donc je recommence en essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc









Avatar
Marc
encore moi !!!
J'ai en effet corrigé la ligne Loop While Not Atrouver Is Nothing,
"uneoccurence" étant aller à la ligne mais maintenant il me signale une
erreur de compilation "Next sans For" devant la ligne "Next f"
merci


Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse
à
mes besoins, je l'avais mal posée... donc je recommence en essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc














Avatar
Marc
re re re
je ne sais pas pourquoi, je n'ai plus le message dont je viens de te parler
par contre mes colonnes ne se masquent pas !!!
au secours
cordialement
marc

Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la réponse
à
mes besoins, je l'avais mal posée... donc je recommence en essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc














Avatar
papou
Va voir le fichier ici pour vérifier
http://cjoint.com/?bilRaAFm1I

Sinon il faut préciser quelque chose d'important :
Le code fonctionnera pour l'ensemble des valeurs qui contiendront "salarié"
donc je ne pense pas que c'est ce que tu veux vraiment.
Il va falloir passer par une vérification de la chaîne de caractères située
après la valeur "salarié" de manière à s'assurer qu'il s'agit d'une donnée
numérique.
Quelque chose comme ça pourrait aider (considérant ici que la valeur
numérique est précédée d'un espace après "salarié") :
Dim Lavar As String
Lavar = Left(Trim(Split(Atrouver, " ")(1)), Len(Trim(Split(Atrouver, "
")(1))))
If IsNumeric(Lavar) Then

Donc concrètement dans ton code ça devient :
http://cjoint.com/?bilZJFftvg

Mais je pense que si quelqu'un d'autre reprend cela pourrait être plus
simple ;-)
Cordialement
Pascal


"Marc" a écrit dans le message de news:

re re re
je ne sais pas pourquoi, je n'ai plus le message dont je viens de te
parler
par contre mes colonnes ne se masquent pas !!!
au secours
cordialement
marc

Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de
news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la
réponse
à
mes besoins, je l'avais mal posée... donc je recommence en essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc
















Avatar
Marc
et oui encore moi !!!!
ça ne fait rien du tout .... Peut ^tre est ce parce que "salarié + n°" est
en fait le résultat d'une formule ????
en tt cas merci pour ton aide
cordialement
marc


Va voir le fichier ici pour vérifier
http://cjoint.com/?bilRaAFm1I

Sinon il faut préciser quelque chose d'important :
Le code fonctionnera pour l'ensemble des valeurs qui contiendront "salarié"
donc je ne pense pas que c'est ce que tu veux vraiment.
Il va falloir passer par une vérification de la chaîne de caractères située
après la valeur "salarié" de manière à s'assurer qu'il s'agit d'une donnée
numérique.
Quelque chose comme ça pourrait aider (considérant ici que la valeur
numérique est précédée d'un espace après "salarié") :
Dim Lavar As String
Lavar = Left(Trim(Split(Atrouver, " ")(1)), Len(Trim(Split(Atrouver, "
")(1))))
If IsNumeric(Lavar) Then

Donc concrètement dans ton code ça devient :
http://cjoint.com/?bilZJFftvg

Mais je pense que si quelqu'un d'autre reprend cela pourrait être plus
simple ;-)
Cordialement
Pascal


"Marc" a écrit dans le message de news:

re re re
je ne sais pas pourquoi, je n'ai plus le message dont je viens de te
parler
par contre mes colonnes ne se masquent pas !!!
au secours
cordialement
marc

Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de
news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la
réponse
à
mes besoins, je l'avais mal posée... donc je recommence en essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc





















Avatar
papou
Marc
dans ce cas remplace xlValues par xlFormulas
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlFormulas)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

et oui encore moi !!!!
ça ne fait rien du tout .... Peut ^tre est ce parce que "salarié + n°" est
en fait le résultat d'une formule ????
en tt cas merci pour ton aide
cordialement
marc


Va voir le fichier ici pour vérifier
http://cjoint.com/?bilRaAFm1I

Sinon il faut préciser quelque chose d'important :
Le code fonctionnera pour l'ensemble des valeurs qui contiendront
"salarié"
donc je ne pense pas que c'est ce que tu veux vraiment.
Il va falloir passer par une vérification de la chaîne de caractères
située
après la valeur "salarié" de manière à s'assurer qu'il s'agit d'une
donnée
numérique.
Quelque chose comme ça pourrait aider (considérant ici que la valeur
numérique est précédée d'un espace après "salarié") :
Dim Lavar As String
Lavar = Left(Trim(Split(Atrouver, " ")(1)), Len(Trim(Split(Atrouver, "
")(1))))
If IsNumeric(Lavar) Then

Donc concrètement dans ton code ça devient :
http://cjoint.com/?bilZJFftvg

Mais je pense que si quelqu'un d'autre reprend cela pourrait être plus
simple ;-)
Cordialement
Pascal


"Marc" a écrit dans le message de news:

re re re
je ne sais pas pourquoi, je n'ai plus le message dont je viens de te
parler
par contre mes colonnes ne se masquent pas !!!
au secours
cordialement
marc

Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de
news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de
news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la
réponse
à
mes besoins, je l'avais mal posée... donc je recommence en
essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que
je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc























Avatar
Marc
salut,
je n'ai pas pu me pencher sur le pb pendant qq jours, mais ça y est ça
marche !!!
Merci bcp et félicitation


Marc
dans ce cas remplace xlValues par xlFormulas
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlFormulas)
Cordialement
Pascal

"Marc" a écrit dans le message de news:

et oui encore moi !!!!
ça ne fait rien du tout .... Peut ^tre est ce parce que "salarié + n°" est
en fait le résultat d'une formule ????
en tt cas merci pour ton aide
cordialement
marc


Va voir le fichier ici pour vérifier
http://cjoint.com/?bilRaAFm1I

Sinon il faut préciser quelque chose d'important :
Le code fonctionnera pour l'ensemble des valeurs qui contiendront
"salarié"
donc je ne pense pas que c'est ce que tu veux vraiment.
Il va falloir passer par une vérification de la chaîne de caractères
située
après la valeur "salarié" de manière à s'assurer qu'il s'agit d'une
donnée
numérique.
Quelque chose comme ça pourrait aider (considérant ici que la valeur
numérique est précédée d'un espace après "salarié") :
Dim Lavar As String
Lavar = Left(Trim(Split(Atrouver, " ")(1)), Len(Trim(Split(Atrouver, "
")(1))))
If IsNumeric(Lavar) Then

Donc concrètement dans ton code ça devient :
http://cjoint.com/?bilZJFftvg

Mais je pense que si quelqu'un d'autre reprend cela pourrait être plus
simple ;-)
Cordialement
Pascal


"Marc" a écrit dans le message de news:

re re re
je ne sais pas pourquoi, je n'ai plus le message dont je viens de te
parler
par contre mes colonnes ne se masquent pas !!!
au secours
cordialement
marc

Re
Probablement un retour à la ligne intempestif dans la recopie du code,
vérife particulièrement la ligne commençant par :
Loop While Not Atrouver Is Nothing
et devant se terminer par :
And Atrouver.Address <> uneoccurence

en dehors de ça il n'y a aucune raison (testé sur Excel 2003)
Cordialement
Pascal

"Marc" a écrit dans le message de
news:

Hello ,
merci de ta réponse mais quand je lance la macro j'ai "erreur de
compilation; erreur de syntaxe " et je comprends pas ....
Si tu peux m'aider ... merci bcp
Cordialement
marc


Bonjour
Une façon de faire :
Sub CacheLesColonnes()
Dim f As Worksheet
Dim Atrouver As Range
Dim LaVal$, NomF$
LaVal = "salarié*"
NomF = "semaine*"
For Each f In Sheets
If f.Name Like NomF Then
Set Atrouver = f.Cells.Find(LaVal, LookIn:=xlValues)
If Not Atrouver Is Nothing Then
uneoccurence = Atrouver.Address
Do
Atrouver.EntireColumn.Hidden = True
Set Atrouver = f.Cells.FindNext(Atrouver)
On Error Resume Next
Loop While Not Atrouver Is Nothing And Atrouver.Address <>
uneoccurence
End If
End If
Next f
End Sub

Cordialement
Pascal

"Marc" a écrit dans le message de
news:

Bon jour,
j'avais déjà posé la question mais je n'arrive pas à adapter la
réponse
à
mes besoins, je l'avais mal posée... donc je recommence en
essayant
d'être
très clair !!!

J'ai un classeur avec plusieurs onglets (57) dont 4 (2cachés) que
je
voudrais exclure de la macro qui devra s'exécuter sur les onglets
nommés
semaine 1, ... à semaine 53.
Je souhaite que la macro masque les colonnes qui comportent comme
données
dans la ligne 2:"salarié + un n°" (qui change donc).
J'ai tenté divers bidouillage mais je n'arrive à rien !!!!
à l'aide !!! je suis vraiment pas bon !!!
merci d'avance
Marc
--
Marc