Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Bonjour,
Ceci peut-être......
Dans le Thisworkbook
'---------
Private Sub Workbook_Open()
Call jj
End Sub
'----------------
Dans un module standard
'--------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours pour" & vbLf & Cells(i, 1) & vbLf &
Cells(i, 2) & vbLf & Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours pour" & vbLf & Cells(i, 1) & vbLf &
Cells(i, 2) & vbLf & Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date - .Cells(i, 3) & " jour(s) pour" & vbLf &
Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
Next
End With
End Sub
'----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijiOVl45g.xls
--
Salutations
JJ
"" a écrit dans le message de news: 4d776a73$0$17828$Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Bonjour,
Ceci peut-être......
Dans le Thisworkbook
'---------
Private Sub Workbook_Open()
Call jj
End Sub
'----------------
Dans un module standard
'--------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours pour" & vbLf & Cells(i, 1) & vbLf &
Cells(i, 2) & vbLf & Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours pour" & vbLf & Cells(i, 1) & vbLf &
Cells(i, 2) & vbLf & Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date - .Cells(i, 3) & " jour(s) pour" & vbLf &
Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
Next
End With
End Sub
'----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijiOVl45g.xls
--
Salutations
JJ
"j@b" <jb@free.fr> a écrit dans le message de news: 4d776a73$0$17828$426a74cc@news.free.fr...
Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Bonjour,
Ceci peut-être......
Dans le Thisworkbook
'---------
Private Sub Workbook_Open()
Call jj
End Sub
'----------------
Dans un module standard
'--------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours pour" & vbLf & Cells(i, 1) & vbLf &
Cells(i, 2) & vbLf & Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours pour" & vbLf & Cells(i, 1) & vbLf &
Cells(i, 2) & vbLf & Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date - .Cells(i, 3) & " jour(s) pour" & vbLf &
Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
Next
End With
End Sub
'----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijiOVl45g.xls
--
Salutations
JJ
"" a écrit dans le message de news: 4d776a73$0$17828$Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Re...
Quelques . (point) se sont égarés ;o)
'-----------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours pour"
& vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2) & vbLf & .Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours pour"
& vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2) & vbLf & .Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date -
.Cells(i, 3) & " jour(s) pour" & vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2)
& vbLf & .Cells(i, 3)
Next
End With
End Sub
'-----------------
Au cas ou la feuille active n'est pas la feuille ou sont placé les
informations
--
Salutations
JJ
"Jacky" a écrit dans le message de news:
il7t72$6q8$Bonjour,
Ceci peut-être......
Dans le Thisworkbook
'---------
Private Sub Workbook_Open()
Call jj
End Sub
'----------------
Dans un module standard
'--------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours
pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours
pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date -
.Cells(i, 3) & " jour(s) pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2)
& vbLf & Cells(i, 3)
Next
End With
End Sub
'----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijiOVl45g.xls
--
Salutations
JJ
"" a écrit dans le message de news:
4d776a73$0$17828$Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages
s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Re...
Quelques . (point) se sont égarés ;o)
'-----------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours pour"
& vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2) & vbLf & .Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours pour"
& vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2) & vbLf & .Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date -
.Cells(i, 3) & " jour(s) pour" & vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2)
& vbLf & .Cells(i, 3)
Next
End With
End Sub
'-----------------
Au cas ou la feuille active n'est pas la feuille ou sont placé les
informations
--
Salutations
JJ
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
il7t72$6q8$1@speranza.aioe.org...
Bonjour,
Ceci peut-être......
Dans le Thisworkbook
'---------
Private Sub Workbook_Open()
Call jj
End Sub
'----------------
Dans un module standard
'--------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours
pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours
pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date -
.Cells(i, 3) & " jour(s) pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2)
& vbLf & Cells(i, 3)
Next
End With
End Sub
'----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijiOVl45g.xls
--
Salutations
JJ
"j@b" <jb@free.fr> a écrit dans le message de news:
4d776a73$0$17828$426a74cc@news.free.fr...
Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages
s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Re...
Quelques . (point) se sont égarés ;o)
'-----------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours pour"
& vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2) & vbLf & .Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours pour"
& vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2) & vbLf & .Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date -
.Cells(i, 3) & " jour(s) pour" & vbLf & .Cells(i, 1) & vbLf & .Cells(i, 2)
& vbLf & .Cells(i, 3)
Next
End With
End Sub
'-----------------
Au cas ou la feuille active n'est pas la feuille ou sont placé les
informations
--
Salutations
JJ
"Jacky" a écrit dans le message de news:
il7t72$6q8$Bonjour,
Ceci peut-être......
Dans le Thisworkbook
'---------
Private Sub Workbook_Open()
Call jj
End Sub
'----------------
Dans un module standard
'--------------
Sub jj()
With Sheets("feuil1")
derlg = .Cells(Rows.Count, "C").End(3).Row
For i = 2 To derlg
If Date - .Cells(i, 3) = -60 Then MsgBox "Expiration dans 60 Jours
pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
If Date - .Cells(i, 3) = -30 Then MsgBox "Expiration dans 30 Jours
pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2) & vbLf & Cells(i, 3)
If Date > .Cells(i, 3) Then MsgBox "Date dépassée de " & Date -
.Cells(i, 3) & " jour(s) pour" & vbLf & Cells(i, 1) & vbLf & Cells(i, 2)
& vbLf & Cells(i, 3)
Next
End With
End Sub
'----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijiOVl45g.xls
--
Salutations
JJ
"" a écrit dans le message de news:
4d776a73$0$17828$Bonjour à tous
Voilà ce que je souhaite faire : avoir un message spécifique lors de
l'ouverture du fichier.
Je m'explique avec un exemple simple, restera à l'adapter une fois bien
compris.
J'ai un fichier avec plusieurs données en :
Colonne A : Code
Colonne B : Nom
Colonne C : Date d'expiration
Je souhaiterai que lorsque j'ouvre le fichier plusieurs messages
s'affiche
avec le Code, le No
Un si la date d'expiration est a 60 j
Un autre si la date d'expiration est a 30j
et un autre sir la date d'expiration est dépassée
La référence étant la date du jour
Merci de votre aide
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Si vous avez une idée
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Si vous avez une idée
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Si vous avez une idée
Re..Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news:
4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Re..
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"j@b" <jb@free.fr> a écrit dans le message de news:
4d77bbe8$0$17751$426a74cc@news.free.fr...
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Re..Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news:
4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
et si on regroupait les fiches en ne donnant pas le détail dans le msgbox mais simplement un nombre de
fiches concernées par la condition ??
sous la forme Attention 10 fiches sont hors delais de plus de 30 jours ... etc ..
ce qui ferait monter que 3 msgbox
Bon c'est une idée !!
Merci d'avance
"Jacky" a écrit dans le message de news: il8ukf$61i$Re..Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news: 4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Si vous avez une idée
et si on regroupait les fiches en ne donnant pas le détail dans le msgbox mais simplement un nombre de
fiches concernées par la condition ??
sous la forme Attention 10 fiches sont hors delais de plus de 30 jours ... etc ..
ce qui ferait monter que 3 msgbox
Bon c'est une idée !!
Merci d'avance
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news: il8ukf$61i$1@speranza.aioe.org...
Re..
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"j@b" <jb@free.fr> a écrit dans le message de news: 4d77bbe8$0$17751$426a74cc@news.free.fr...
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Si vous avez une idée
et si on regroupait les fiches en ne donnant pas le détail dans le msgbox mais simplement un nombre de
fiches concernées par la condition ??
sous la forme Attention 10 fiches sont hors delais de plus de 30 jours ... etc ..
ce qui ferait monter que 3 msgbox
Bon c'est une idée !!
Merci d'avance
"Jacky" a écrit dans le message de news: il8ukf$61i$Re..Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news: 4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient fastidieux.
Si vous avez une idée
Re..Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news:
4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Re..
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"j@b" <jb@free.fr> a écrit dans le message de news:
4d77bbe8$0$17751$426a74cc@news.free.fr...
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Re..Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news:
4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Si tu y tiens, tu pourrais appeler cette procédure à partir
de l'événement Workbook_Open dans le Thisworkbook
Tu adaptes le nom de la feuille au besoin:
'------------------------------------------
Sub test()
Dim D As Date, Ligne As Long
Dim DerLig As Long, Rg As Range
'la feuille où sont les données actuellement
With Worksheets("Feuil1")
DerLig = .Range("A:C").Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Set Rg = .Range("A1:C" & DerLig)
End With
Application.ScreenUpdating = False
With Rg
With .Columns(3)
.AutoFilter field:=1, Criteria1:=">=" & (Date - 30) * 1
Message = "Items datant de 30 jours et moins :"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter field:=1, Criteria1:="<" & (Date - 30) * 1, _
Operator:=xlAnd, Criteria2:=">=" & (Date - 60) * 1
Message = Message & "Items datant de plus de 30 jours et de 60
jours et moins :"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter field:=1, Criteria1:="<" & (Date - 60) * 1
Message = Message & "Items datant de plus de 60 jours"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter
Application.ScreenUpdating = True
MsgBox Message, vbInformation + vbOKOnly, "Attention"
End With
End With
End Sub
'------------------------------------------
MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion :
4d7803f5$0$20770$
et si on regroupait les fiches en ne donnant pas le détail dans le msgbox
mais simplement un nombre de fiches concernées par la condition ??
sous la forme Attention 10 fiches sont hors delais de plus de 30 jours ...
etc ..
ce qui ferait monter que 3 msgbox
Bon c'est une idée !!
Merci d'avance
"Jacky" a écrit dans le message de news:
il8ukf$61i$Re..Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news:
4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Si tu y tiens, tu pourrais appeler cette procédure à partir
de l'événement Workbook_Open dans le Thisworkbook
Tu adaptes le nom de la feuille au besoin:
'------------------------------------------
Sub test()
Dim D As Date, Ligne As Long
Dim DerLig As Long, Rg As Range
'la feuille où sont les données actuellement
With Worksheets("Feuil1")
DerLig = .Range("A:C").Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Set Rg = .Range("A1:C" & DerLig)
End With
Application.ScreenUpdating = False
With Rg
With .Columns(3)
.AutoFilter field:=1, Criteria1:=">=" & (Date - 30) * 1
Message = "Items datant de 30 jours et moins :"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter field:=1, Criteria1:="<" & (Date - 30) * 1, _
Operator:=xlAnd, Criteria2:=">=" & (Date - 60) * 1
Message = Message & "Items datant de plus de 30 jours et de 60
jours et moins :"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter field:=1, Criteria1:="<" & (Date - 60) * 1
Message = Message & "Items datant de plus de 60 jours"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter
Application.ScreenUpdating = True
MsgBox Message, vbInformation + vbOKOnly, "Attention"
End With
End With
End Sub
'------------------------------------------
MichD
--------------------------------------------
"j@b" a écrit dans le message de groupe de discussion :
4d7803f5$0$20770$426a74cc@news.free.fr...
et si on regroupait les fiches en ne donnant pas le détail dans le msgbox
mais simplement un nombre de fiches concernées par la condition ??
sous la forme Attention 10 fiches sont hors delais de plus de 30 jours ...
etc ..
ce qui ferait monter que 3 msgbox
Bon c'est une idée !!
Merci d'avance
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
il8ukf$61i$1@speranza.aioe.org...
Re..
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"j@b" <jb@free.fr> a écrit dans le message de news:
4d77bbe8$0$17751$426a74cc@news.free.fr...
Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée
Si tu y tiens, tu pourrais appeler cette procédure à partir
de l'événement Workbook_Open dans le Thisworkbook
Tu adaptes le nom de la feuille au besoin:
'------------------------------------------
Sub test()
Dim D As Date, Ligne As Long
Dim DerLig As Long, Rg As Range
'la feuille où sont les données actuellement
With Worksheets("Feuil1")
DerLig = .Range("A:C").Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Set Rg = .Range("A1:C" & DerLig)
End With
Application.ScreenUpdating = False
With Rg
With .Columns(3)
.AutoFilter field:=1, Criteria1:=">=" & (Date - 30) * 1
Message = "Items datant de 30 jours et moins :"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter field:=1, Criteria1:="<" & (Date - 30) * 1, _
Operator:=xlAnd, Criteria2:=">=" & (Date - 60) * 1
Message = Message & "Items datant de plus de 30 jours et de 60
jours et moins :"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter field:=1, Criteria1:="<" & (Date - 60) * 1
Message = Message & "Items datant de plus de 60 jours"
Message = Message & vbCrLf _
& vbTab & Application.Subtotal(3, .Cells) - 1 & _
" données correspond à ce critère." & vbCrLf & vbCrLf
.AutoFilter
Application.ScreenUpdating = True
MsgBox Message, vbInformation + vbOKOnly, "Attention"
End With
End With
End Sub
'------------------------------------------
MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion :
4d7803f5$0$20770$
et si on regroupait les fiches en ne donnant pas le détail dans le msgbox
mais simplement un nombre de fiches concernées par la condition ??
sous la forme Attention 10 fiches sont hors delais de plus de 30 jours ...
etc ..
ce qui ferait monter que 3 msgbox
Bon c'est une idée !!
Merci d'avance
"Jacky" a écrit dans le message de news:
il8ukf$61i$Re..Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Alors la solution de Denis sera bien plus appropriée.
--
Salutations
JJ
"" a écrit dans le message de news:
4d77bbe8$0$17751$Merci
C'est pas cela, mais ne peut on pas regrouper les massages dans un seul
MsgBox par catégorie
Car il est vrai qu'avec environ une centaine de cas cela devient
fastidieux.
Si vous avez une idée