Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique (AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières, selon
le
mois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois impaires),
je
voudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique (AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières, selon
le
mois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois impaires),
je
voudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique (AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières, selon
le
mois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois impaires),
je
voudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un intervalle
défini.
Cordialement.
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un intervalle
défini.
Cordialement.
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un intervalle
défini.
Cordialement.
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un intervalle
défini.
Cordialement.
"Nadia" a écrit dans le message de news:
#Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique (AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières, selon
lemois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le
jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois impaires),
jevoudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un intervalle
défini.
Cordialement.
"Nadia" <Nadia@sans.gene.ch> a écrit dans le message de news:
#pWWbF3zEHA.3808@tk2msftngp13.phx.gbl...
Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique (AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières, selon
le
mois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le
jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois impaires),
je
voudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un intervalle
défini.
Cordialement.
"Nadia" a écrit dans le message de news:
#Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique (AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières, selon
lemois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le
jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois impaires),
jevoudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Cher Éric,
cela ne marche pas.
salutations
Nadia
"E KERGRESSE" a écrit dans le
message
de news:%Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours
du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générerces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un
intervalle
défini.
Cordialement.
"Nadia" a écrit dans le message de news:
#Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique
(AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières,
selon
lemois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le
jourdu 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois
impaires),
jevoudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Cher Éric,
cela ne marche pas.
salutations
Nadia
"E KERGRESSE" <ASUPPRIMEReric.kergresse@wanadoo.fr> a écrit dans le
message
de news:%23M45IY3zEHA.2676@TK2MSFTNGP12.phx.gbl...
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours
du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un
intervalle
défini.
Cordialement.
"Nadia" <Nadia@sans.gene.ch> a écrit dans le message de news:
#pWWbF3zEHA.3808@tk2msftngp13.phx.gbl...
Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique
(AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières,
selon
le
mois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le
jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois
impaires),
je
voudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Cher Éric,
cela ne marche pas.
salutations
Nadia
"E KERGRESSE" a écrit dans le
message
de news:%Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours
du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générerces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un
intervalle
défini.
Cordialement.
"Nadia" a écrit dans le message de news:
#Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique
(AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières,
selon
lemois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car le
jourdu 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois
impaires),
jevoudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Salut Nadia,
Soit dans ta feuille en B5 : l'année, en B6 : le mois (Janvier, Février,
etc...)
Ces cellules peuvent être remplies à partir d'une liste de validation pour
ne pas avoir d'erreur de saisie. C'est ce que j'ai fait dans mon tableau.
Puis tu mets dans le module de la feuille où tu réalises ta saisie, la
procédure suivante :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Exemple pris dans le classeur à télécharger Events.xls sur Excelabo.net
ou
sur un autre site, je ne me rappelle plus
' sur quel site j'ai téléchargé ce classeur.
Dim CellChange As Range
Set CellChange = Range("B5:B6")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
Call TesterLeMois
CellChange.Select
End If
End Sub
' NB A chaque changement d'année ou de mois, la macro TesterLeMois est
lancée.
' Puis, mettre dans un module standard
Function IsBissextile(An)
' De Frédéric Sigonneau
' Plage de validité des dates en VBA
If An < 100 Or An > 9999 Then
IsBissextile = CVErr(xlErrNum)
Exit Function
End If
IsBissextile = (An Mod 4 = 0) Or (An Mod 4 = 0 And (Not An Mod 100 0))
End Function
Sub TesterLeMois()
Dim MoisEnCours As String
Dim I As Integer
Dim NombreDeJours As Integer
Dim An As Long
An = Range("B5").Value
Range("B6").Select
MoisEnCours = Range("B6").Value
Select Case MoisEnCours
Case "Janvier", "Mars", "Mai", "Juillet", "Août", "Octobre",
"Décembre"
NombreDeJours = 31
Case "Février"
If IsBissextile(An) = True Then
NombreDeJours = 29
Else
NombreDeJours = 28
End If
Case Else
NombreDeJours = 30
End Select
Range(Cells(7, 3), Cells(7, 33)).Select
Selection.ClearContents
For I = 1 To NombreDeJours
ActiveSheet.Range("C7").Offset(0, I - 1).Value = I
Next
End Sub
Avec ces procédures et fonction, il n'y a donc pas besoin de cacher les
colonnes.
Cordialement.
"Nadia" a écrit dans le message de news:
#Cher Éric,
cela ne marche pas.
salutations
Nadia
"E KERGRESSE" a écrit dans le
messagede news:%Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours
dumois, il faudrait que tu expliques dans quel contexte tu es amenée à
générerces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que
j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un
intervalledéfini.
Cordialement.
"Nadia" a écrit dans le message de news:
#Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique
(AG7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières,
selonlemois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car
le
jourdu 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois
impaires),jevoudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Salut Nadia,
Soit dans ta feuille en B5 : l'année, en B6 : le mois (Janvier, Février,
etc...)
Ces cellules peuvent être remplies à partir d'une liste de validation pour
ne pas avoir d'erreur de saisie. C'est ce que j'ai fait dans mon tableau.
Puis tu mets dans le module de la feuille où tu réalises ta saisie, la
procédure suivante :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Exemple pris dans le classeur à télécharger Events.xls sur Excelabo.net
ou
sur un autre site, je ne me rappelle plus
' sur quel site j'ai téléchargé ce classeur.
Dim CellChange As Range
Set CellChange = Range("B5:B6")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
Call TesterLeMois
CellChange.Select
End If
End Sub
' NB A chaque changement d'année ou de mois, la macro TesterLeMois est
lancée.
' Puis, mettre dans un module standard
Function IsBissextile(An)
' De Frédéric Sigonneau
' Plage de validité des dates en VBA
If An < 100 Or An > 9999 Then
IsBissextile = CVErr(xlErrNum)
Exit Function
End If
IsBissextile = (An Mod 4 = 0) Or (An Mod 4 = 0 And (Not An Mod 100 0))
End Function
Sub TesterLeMois()
Dim MoisEnCours As String
Dim I As Integer
Dim NombreDeJours As Integer
Dim An As Long
An = Range("B5").Value
Range("B6").Select
MoisEnCours = Range("B6").Value
Select Case MoisEnCours
Case "Janvier", "Mars", "Mai", "Juillet", "Août", "Octobre",
"Décembre"
NombreDeJours = 31
Case "Février"
If IsBissextile(An) = True Then
NombreDeJours = 29
Else
NombreDeJours = 28
End If
Case Else
NombreDeJours = 30
End Select
Range(Cells(7, 3), Cells(7, 33)).Select
Selection.ClearContents
For I = 1 To NombreDeJours
ActiveSheet.Range("C7").Offset(0, I - 1).Value = I
Next
End Sub
Avec ces procédures et fonction, il n'y a donc pas besoin de cacher les
colonnes.
Cordialement.
"Nadia" <Nadia@sans.gene.ch> a écrit dans le message de news:
#RsMriI0EHA.1392@tk2msftngp13.phx.gbl...
Cher Éric,
cela ne marche pas.
salutations
Nadia
"E KERGRESSE" <ASUPPRIMEReric.kergresse@wanadoo.fr> a écrit dans le
message
de news:%23M45IY3zEHA.2676@TK2MSFTNGP12.phx.gbl...
Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours
du
mois, il faudrait que tu expliques dans quel contexte tu es amenée à
générer
ces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que
j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un
intervalle
défini.
Cordialement.
"Nadia" <Nadia@sans.gene.ch> a écrit dans le message de news:
#pWWbF3zEHA.3808@tk2msftngp13.phx.gbl...
Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique
(AG
7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières,
selon
le
mois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car
le
jour
du 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois
impaires),
je
voudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia
Salut Nadia,
Soit dans ta feuille en B5 : l'année, en B6 : le mois (Janvier, Février,
etc...)
Ces cellules peuvent être remplies à partir d'une liste de validation pour
ne pas avoir d'erreur de saisie. C'est ce que j'ai fait dans mon tableau.
Puis tu mets dans le module de la feuille où tu réalises ta saisie, la
procédure suivante :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Exemple pris dans le classeur à télécharger Events.xls sur Excelabo.net
ou
sur un autre site, je ne me rappelle plus
' sur quel site j'ai téléchargé ce classeur.
Dim CellChange As Range
Set CellChange = Range("B5:B6")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
Call TesterLeMois
CellChange.Select
End If
End Sub
' NB A chaque changement d'année ou de mois, la macro TesterLeMois est
lancée.
' Puis, mettre dans un module standard
Function IsBissextile(An)
' De Frédéric Sigonneau
' Plage de validité des dates en VBA
If An < 100 Or An > 9999 Then
IsBissextile = CVErr(xlErrNum)
Exit Function
End If
IsBissextile = (An Mod 4 = 0) Or (An Mod 4 = 0 And (Not An Mod 100 0))
End Function
Sub TesterLeMois()
Dim MoisEnCours As String
Dim I As Integer
Dim NombreDeJours As Integer
Dim An As Long
An = Range("B5").Value
Range("B6").Select
MoisEnCours = Range("B6").Value
Select Case MoisEnCours
Case "Janvier", "Mars", "Mai", "Juillet", "Août", "Octobre",
"Décembre"
NombreDeJours = 31
Case "Février"
If IsBissextile(An) = True Then
NombreDeJours = 29
Else
NombreDeJours = 28
End If
Case Else
NombreDeJours = 30
End Select
Range(Cells(7, 3), Cells(7, 33)).Select
Selection.ClearContents
For I = 1 To NombreDeJours
ActiveSheet.Range("C7").Offset(0, I - 1).Value = I
Next
End Sub
Avec ces procédures et fonction, il n'y a donc pas besoin de cacher les
colonnes.
Cordialement.
"Nadia" a écrit dans le message de news:
#Cher Éric,
cela ne marche pas.
salutations
Nadia
"E KERGRESSE" a écrit dans le
messagede news:%Salut Nadia,
Une réponse peut être celle-là
If Range("AG7").value = "" then
Columns(Range("AG7").Column).Hidden = True
End if
Pour ce qui est de masquer tes colonnes en fonction du nombre de jours
dumois, il faudrait que tu expliques dans quel contexte tu es amenée à
générerces colonnes en trop. Il existe en effet dans Excelabo.net, un tas de
générateurs de calendriers qui t'affranchissent de ce problème.
http://www.excelabo.net/moteurs/recherche.php , tu tapes ensuite
Calendrier
En ce qui me concerne, je me suis servi d'un de ces calendriers que
j'ai
modifié pour me mettre les dates en ligne ou en colonne sur un
intervalledéfini.
Cordialement.
"Nadia" a écrit dans le message de news:
#Hello a tous,
Je voudrais savoir si une macro existe pour masquer une ou plusieurs
colonnes
selon qu'elle ne contient pas de données dans une cellule spécifique
(AG7).
J'airais aimé, sur un tableau avec des dates pouvoir masquer
la colonne qui ne comporte pas de 31e jour selon les mois, ainsi que
les 29;30;31 de février (si février n'est pas bissextile).
A titre indicatif :
Les dates dans les colonnes de mon tableau, ne sont pas inscrite une
à une, mais selon une formule qui me donne les dates journalières,
selonlemois et l'année
inscrite dans une cellule du tableau.
Cela donne, selon les mois impaires, la cellule AG 7 est vide, car
le
jourdu 31 ne s'y inscrit pas.
dans ces conditions, puisque cette cellule est vide (les mois
impaires),jevoudrais qu'elle se
masque toute seule.
Qui aurait la bonté de me venir en aide?
Salutations
Nadia