Dans Excel 2003 ;
J'ai un tableau dans lequel j'ajoute des lignes régulièrement. Du coup
depuis le début de l'année mon tableau a deja 300 lignes, or seulement une
vingtaines d'entre elles me sont utiles au quotidien. Mais j'ai besoin de la
totalité pour faire des analyses en fin de mois, puis en fin d'année.
Probleme :
Lassé de faire masquer/afficher tous les matins, j'aimerais créer une macro
qui s'ouvre en meme temps que le fichier et qui va tester si la date d'une
cellule (jj/mm/aaaa hh:mm:ss) est comprise entre aujourd'hui moins 3 jours
et aujourd'hui plus 3 jours.
Si oui on affiche la ligne
Si non on masque la ligne...
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[G65536].End(3).Row If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then .Rows(k).Hidden = True End If Next End With Application.ScreenUpdating = True End Sub
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
en remplacement du post précédent :
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Sheets("Planning Productions Dépôts")
For k = 4 To .[G65536].End(3).Row
If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then
.Rows(k).Hidden = True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[G65536].End(3).Row If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then .Rows(k).Hidden = True End If Next End With Application.ScreenUpdating = True End Sub
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Perceval973
TROP COOL, t'es trop fort, merci Eric Merci aussi a Youki et docm pour leur soutien
Eric wrote:
re,
en remplacement du post précédent :
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[G65536].End(3).Row If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then .Rows(k).Hidden = True End If Next End With Application.ScreenUpdating = True End Sub
TROP COOL, t'es trop fort, merci Eric
Merci aussi a Youki et docm pour leur soutien
Eric wrote:
re,
en remplacement du post précédent :
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Sheets("Planning Productions Dépôts")
For k = 4 To .[G65536].End(3).Row
If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then
.Rows(k).Hidden = True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
TROP COOL, t'es trop fort, merci Eric Merci aussi a Youki et docm pour leur soutien
Eric wrote:
re,
en remplacement du post précédent :
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[G65536].End(3).Row If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then .Rows(k).Hidden = True End If Next End With Application.ScreenUpdating = True End Sub
Perceval973
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
Eric wrote:
re,
en remplacement du post précédent :
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[G65536].End(3).Row If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then .Rows(k).Hidden = True End If Next End With Application.ScreenUpdating = True End Sub
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans
le quel les formats de date sont différents (et dans une autre cellule, la
I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque
les cellules 4 à 373 pour le coup.
Y a-t-il qlq chose a adapter dans les formules ?
Eric wrote:
re,
en remplacement du post précédent :
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Sheets("Planning Productions Dépôts")
For k = 4 To .[G65536].End(3).Row
If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then
.Rows(k).Hidden = True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
Eric wrote:
re,
en remplacement du post précédent :
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[G65536].End(3).Row If .Cells(k, 7) < Date - 3 Or .Cells(k, 7) > Date + 3 Then .Rows(k).Hidden = True End If Next End With Application.ScreenUpdating = True End Sub
Eric
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la
colonne dans .Cells(k,7) en .Cells(k,9) ?
Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans
le quel les formats de date sont différents (et dans une autre cellule, la
I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque
les cellules 4 à 373 pour le coup.
Y a-t-il qlq chose a adapter dans les formules ?
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Perceval973
Exact, tu as raison. Je n'avais pas modifié le rang. J'ignorais cela. Encore merci pour ton aide
Perceval
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
Exact, tu as raison. Je n'avais pas modifié le rang. J'ignorais cela.
Encore merci pour ton aide
Perceval
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la
colonne dans .Cells(k,7) en .Cells(k,9) ?
Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre
fichier dans le quel les formats de date sont différents (et dans
une autre cellule, la I) et j'ai le meme symptome qu'initialement.
C'est a dire que cela masque les cellules 4 à 373 pour le coup.
Y a-t-il qlq chose a adapter dans les formules ?
Exact, tu as raison. Je n'avais pas modifié le rang. J'ignorais cela. Encore merci pour ton aide
Perceval
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
Perceval973
Dernière petite question... Parfois dans la cellule I j'ai pas une date, mais du texte ("Non planifié") Et cette ligne j'aimerais qu'elle s'affiche. J'ai pensé ajouter les lignes ci dessous apres la première boucle, mais je ne sais pas exprimer "esttexte" en vba
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) < Date - 3 Or .Cells(k, 9) > Date + 3 Then .Rows(k).Hidden = True End If Next End With
With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) "ESTTEXTE" .Rows(k).Hidden = False End If Next End With
Application.ScreenUpdating = True End Sub
Est-ce la bonne solution ? Comment exprimer ESTTEXTE en vba ?
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
Dernière petite question...
Parfois dans la cellule I j'ai pas une date, mais du texte ("Non planifié")
Et cette ligne j'aimerais qu'elle s'affiche.
J'ai pensé ajouter les lignes ci dessous apres la première boucle, mais je
ne sais pas exprimer "esttexte" en vba
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Sheets("Planning Productions Dépôts")
For k = 4 To .[I65536].End(3).Row
If .Cells(k, 9) < Date - 3 Or .Cells(k, 9) > Date + 3 Then
.Rows(k).Hidden = True
End If
Next
End With
With Sheets("Planning Productions Dépôts")
For k = 4 To .[I65536].End(3).Row
If .Cells(k, 9) "ESTTEXTE"
.Rows(k).Hidden = False
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Est-ce la bonne solution ?
Comment exprimer ESTTEXTE en vba ?
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la
colonne dans .Cells(k,7) en .Cells(k,9) ?
Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre
fichier dans le quel les formats de date sont différents (et dans
une autre cellule, la I) et j'ai le meme symptome qu'initialement.
C'est a dire que cela masque les cellules 4 à 373 pour le coup.
Y a-t-il qlq chose a adapter dans les formules ?
Dernière petite question... Parfois dans la cellule I j'ai pas une date, mais du texte ("Non planifié") Et cette ligne j'aimerais qu'elle s'affiche. J'ai pensé ajouter les lignes ci dessous apres la première boucle, mais je ne sais pas exprimer "esttexte" en vba
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) < Date - 3 Or .Cells(k, 9) > Date + 3 Then .Rows(k).Hidden = True End If Next End With
With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) "ESTTEXTE" .Rows(k).Hidden = False End If Next End With
Application.ScreenUpdating = True End Sub
Est-ce la bonne solution ? Comment exprimer ESTTEXTE en vba ?
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
Perceval973
J'ai trouvé en bidouillant... Bon ca m'a pris l'apres midi, mais je suis content d'y etre parvenu :-) Merci pour tout :-) Perceval
Perceval973 wrote:
Dernière petite question... Parfois dans la cellule I j'ai pas une date, mais du texte ("Non planifié") Et cette ligne j'aimerais qu'elle s'affiche. J'ai pensé ajouter les lignes ci dessous apres la première boucle, mais je ne sais pas exprimer "esttexte" en vba
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) < Date - 3 Or .Cells(k, 9) > Date + 3 Then .Rows(k).Hidden = True End If Next End With
With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) "ESTTEXTE" .Rows(k).Hidden = False End If Next End With
Application.ScreenUpdating = True End Sub
Est-ce la bonne solution ? Comment exprimer ESTTEXTE en vba ?
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?
J'ai trouvé en bidouillant...
Bon ca m'a pris l'apres midi, mais je suis content d'y etre parvenu :-)
Merci pour tout :-)
Perceval
Perceval973 wrote:
Dernière petite question...
Parfois dans la cellule I j'ai pas une date, mais du texte ("Non
planifié") Et cette ligne j'aimerais qu'elle s'affiche.
J'ai pensé ajouter les lignes ci dessous apres la première boucle,
mais je ne sais pas exprimer "esttexte" en vba
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Sheets("Planning Productions Dépôts")
For k = 4 To .[I65536].End(3).Row
If .Cells(k, 9) < Date - 3 Or .Cells(k, 9) > Date + 3 Then
.Rows(k).Hidden = True
End If
Next
End With
With Sheets("Planning Productions Dépôts")
For k = 4 To .[I65536].End(3).Row
If .Cells(k, 9) "ESTTEXTE"
.Rows(k).Hidden = False
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Est-ce la bonne solution ?
Comment exprimer ESTTEXTE en vba ?
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de
la colonne dans .Cells(k,7) en .Cells(k,9) ?
Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre
fichier dans le quel les formats de date sont différents (et dans
une autre cellule, la I) et j'ai le meme symptome qu'initialement.
C'est a dire que cela masque les cellules 4 à 373 pour le coup.
Y a-t-il qlq chose a adapter dans les formules ?
J'ai trouvé en bidouillant... Bon ca m'a pris l'apres midi, mais je suis content d'y etre parvenu :-) Merci pour tout :-) Perceval
Perceval973 wrote:
Dernière petite question... Parfois dans la cellule I j'ai pas une date, mais du texte ("Non planifié") Et cette ligne j'aimerais qu'elle s'affiche. J'ai pensé ajouter les lignes ci dessous apres la première boucle, mais je ne sais pas exprimer "esttexte" en vba
Private Sub Workbook_Open() Application.ScreenUpdating = False With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) < Date - 3 Or .Cells(k, 9) > Date + 3 Then .Rows(k).Hidden = True End If Next End With
With Sheets("Planning Productions Dépôts") For k = 4 To .[I65536].End(3).Row If .Cells(k, 9) "ESTTEXTE" .Rows(k).Hidden = False End If Next End With
Application.ScreenUpdating = True End Sub
Est-ce la bonne solution ? Comment exprimer ESTTEXTE en vba ?
Eric wrote:
re,
Je suppose que tu as remplacé G par I mais as-tu corrigé le rang de la colonne dans .Cells(k,7) en .Cells(k,9) ? Le format ne doit pas intervenir dans le problème, du moins je pense.
C'est bizarre j'ai essayé de transposer la macro dans un autre fichier dans le quel les formats de date sont différents (et dans une autre cellule, la I) et j'ai le meme symptome qu'initialement. C'est a dire que cela masque les cellules 4 à 373 pour le coup. Y a-t-il qlq chose a adapter dans les formules ?