Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
019FA851-CFAE-4FA3-9F31-AC49EBAB2123@microsoft.com...
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de la
ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de la
ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
ubfsubRjJHA.2516@TK2MSFTNGP05.phx.gbl...
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
019FA851-CFAE-4FA3-9F31-AC49EBAB2123@microsoft.com...
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe
de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de la
ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Désolé de te déranger encore une fois.
J'ai tout écrit sur la même ligne, et j'ai quand même un erreur de
compilation
Voici un exemple de mon fichier
http://cjoint.com/?coo57dhBBp
Merci encore une fois de ton aide
marc
"michdenis" a écrit dans le message de news:Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de
la ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une
cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Désolé de te déranger encore une fois.
J'ai tout écrit sur la même ligne, et j'ai quand même un erreur de
compilation
Voici un exemple de mon fichier
http://cjoint.com/?coo57dhBBp
Merci encore une fois de ton aide
marc
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OGPjReRjJHA.4860@TK2MSFTNGP04.phx.gbl...
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de
la ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
ubfsubRjJHA.2516@TK2MSFTNGP05.phx.gbl...
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
019FA851-CFAE-4FA3-9F31-AC49EBAB2123@microsoft.com...
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe
de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une
cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Désolé de te déranger encore une fois.
J'ai tout écrit sur la même ligne, et j'ai quand même un erreur de
compilation
Voici un exemple de mon fichier
http://cjoint.com/?coo57dhBBp
Merci encore une fois de ton aide
marc
"michdenis" a écrit dans le message de news:Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de
la ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une
cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Désolé de te déranger encore une fois.
J'ai tout écrit sur la même ligne, et j'ai quand même un erreur de
compilation
Voici un exemple de mon fichier
http://cjoint.com/?coo57dhBBp
Merci encore une fois de ton aide
marc
"michdenis" a écrit dans le message de news:Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de
la ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une
cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Désolé de te déranger encore une fois.
J'ai tout écrit sur la même ligne, et j'ai quand même un erreur de
compilation
Voici un exemple de mon fichier
http://cjoint.com/?coo57dhBBp
Merci encore une fois de ton aide
marc
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OGPjReRjJHA.4860@TK2MSFTNGP04.phx.gbl...
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de
la ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
ubfsubRjJHA.2516@TK2MSFTNGP05.phx.gbl...
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
019FA851-CFAE-4FA3-9F31-AC49EBAB2123@microsoft.com...
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe
de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une
cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Désolé de te déranger encore une fois.
J'ai tout écrit sur la même ligne, et j'ai quand même un erreur de
compilation
Voici un exemple de mon fichier
http://cjoint.com/?coo57dhBBp
Merci encore une fois de ton aide
marc
"michdenis" a écrit dans le message de news:Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de
la ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une
cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de la
ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de la
ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
ubfsubRjJHA.2516@TK2MSFTNGP05.phx.gbl...
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
019FA851-CFAE-4FA3-9F31-AC49EBAB2123@microsoft.com...
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe
de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Il faut faire attention au service de messagerie, il lui arrive
de couper les lignes à des endroits inopportun.
La ligne de déclaration de la procédure doit être écrite sur la même
ligne.
sinon tu peux utiliser cette syntaxe (ne pas oublier le "_" à la fin de la
ligne.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe
de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Si tu utilises Outlook Express, tu peux aller :
barre des menus / outils / options / onglet "Envoi"
Format d'envoi du courrier et Format d'envoi des
messages de groupe de discussion
Tu peux en cliquant à tour de rôle sur les boutons
"Paramètres" déterminer le nombre de caractères
qu'un ligne peut avoir avant que l'application
insère un retour à la ligne automatique.
Cela peut réduire énormément les retours à
la ligne intempestive.
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Si tu utilises Outlook Express, tu peux aller :
barre des menus / outils / options / onglet "Envoi"
Format d'envoi du courrier et Format d'envoi des
messages de groupe de discussion
Tu peux en cliquant à tour de rôle sur les boutons
"Paramètres" déterminer le nombre de caractères
qu'un ligne peut avoir avant que l'application
insère un retour à la ligne automatique.
Cela peut réduire énormément les retours à
la ligne intempestive.
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
ubfsubRjJHA.2516@TK2MSFTNGP05.phx.gbl...
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
019FA851-CFAE-4FA3-9F31-AC49EBAB2123@microsoft.com...
Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
#opP2MRjJHA.5812@TK2MSFTNGP06.phx.gbl...
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
6C0A6D91-57F9-4B60-B8C9-B88ABECEBC33@microsoft.com...
Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" <marcus.marucs.1@hotmail.com> a écrit dans le message de groupe de
discussion :
32C3E977-68F0-4A32-89CB-70BC6D976E93@microsoft.com...
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc
Si tu utilises Outlook Express, tu peux aller :
barre des menus / outils / options / onglet "Envoi"
Format d'envoi du courrier et Format d'envoi des
messages de groupe de discussion
Tu peux en cliquant à tour de rôle sur les boutons
"Paramètres" déterminer le nombre de caractères
qu'un ligne peut avoir avant que l'application
insère un retour à la ligne automatique.
Cela peut réduire énormément les retours à
la ligne intempestive.
"marc" a écrit dans le message de groupe de discussion :
Voici ce que j'ai écrit dans ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sub Test()
End Sub
Et j'ai une erreur de compilation. Désolé de te déranger, je ne suis pas
programmeur.
merci de ton aide
"michdenis" a écrit dans le message de news:Oui, tu utilises cet événement du ThisWorkbook de ton classeur
à chaque fois que tu vas enregistrer ton classeur, juste avant
cette procédure va appeler la macro et l'exécuter
'-----------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'Tu entres le nom de ta macro
End Sub
'-----------------------------
"marc" a écrit dans le message de groupe de discussion :
#
Bonjour Michdenis
Est-il possible que la macro s'exécuter automatiquement dès que je
sauvegarde le document?
merci
"michdenis" a écrit dans le message de news:Sous Excel 2007, j'ai utilisé ceci pour la recherche
VbYellow fait parti des constantes couleurs d'excel
il ya aussi VBRed, vbblack, vbwhite, vbgreen, vbblue, vbmagenta, vbCya
.Interior.Color = vbYellow
Si tu as utilisé les index des couleurs, tu devras modifier
la ligne de code de la lprocédure .Interior.Color = vbYellow
par Interior.ColorIndex = 6 ou l'index approprié.
'--------------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, LeCellFormat As CellFormat
Dim C As Range, Adr As String
With Feuil1
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
searchorder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Plage sur laquelle se fait la recherche
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeVisible)
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.Color = vbYellow
'La liste pourrait être plus longue ...
End With
End With
'Détermine la plage de cellules où s'effectue
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", searchorder:=xlByRows, SearchFormat:=True)
If Not C Is Nothing Then
Adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.EntireRow.Hidden = True
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C(1, 1), SearchFormat:=True)
Loop Until C.Address = Adr
End If
End With
End Sub
'--------------------------------------------
"marc" a écrit dans le message de groupe de
discussion :
Bonjour à vous tous
J'aimerais, que dans un fichier, les lignes qui ont au moins une cellule
sur
fond gris soient masquer automatiquement. Je ne sais pas comment faire
mon
code en VBA.
Merci de m'aider
Marc