Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Guillaume,
Essaie ceci :
Dans la procédure,
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
la ligne de code précédente va faire planter la procédure si le filtre automatique n'est pas en place.
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase") Cette ligne va toujours désigner la plage de cellules de la feuille où le filtre automatique a été exécuté pour la dernière fois. Évidemment, il faut que le filtre ait déjà été exécuté au moins une fois pour que la plage existe....
Utilise 2 objets de type range ....
'---------------------------------- Sub Filtre_Test()
Dim MaPlage As Range Dim MaPlage1 As Range
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
la ligne de code précédente va faire planter la procédure si le filtre automatique n'est pas en place.
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
Cette ligne va toujours désigner la plage de cellules de la feuille où le filtre automatique a été exécuté pour la
dernière fois.
Évidemment, il faut que le filtre ait déjà été exécuté au moins une fois pour que la plage existe....
Utilise 2 objets de type range ....
'----------------------------------
Sub Filtre_Test()
Dim MaPlage As Range
Dim MaPlage1 As Range
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
la ligne de code précédente va faire planter la procédure si le filtre automatique n'est pas en place.
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase") Cette ligne va toujours désigner la plage de cellules de la feuille où le filtre automatique a été exécuté pour la dernière fois. Évidemment, il faut que le filtre ait déjà été exécuté au moins une fois pour que la plage existe....
Utilise 2 objets de type range ....
'---------------------------------- Sub Filtre_Test()
Dim MaPlage As Range Dim MaPlage1 As Range
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
En supplément, attention si aucun enregistrement n'est trouvé par le filtre ...
'------------------------------ Sub Filtre_Test()
Dim MaPlage As Range Dim MaPlage1 As Range Dim A As Long 'Variable contenant 'le Nombre d'enregistrements trouvés
'Set t = Sheets("Feuil1").AutoFilter.Range 'MsgBox t.Address
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
A = Application.Subtotal(3, Range("A:A")) - 1
If A > 0 Then Set MaPlage1 = MaPlage.Offset(1, 0). _ Resize(MaPlage.Rows.Count - 1, _ MaPlage.Columns.Count).SpecialCells(xlCellTypeVisible)
MsgBox MaPlage1.Address Else MsgBox "Aucun enregistrement trouvé." End If
End Sub '------------------------------
Salutations!
"michdenis" a écrit dans le message de news: Bonjour Guillaume,
Essaie ceci :
Dans la procédure,
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
la ligne de code précédente va faire planter la procédure si le filtre automatique n'est pas en place.
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase") Cette ligne va toujours désigner la plage de cellules de la feuille où le filtre automatique a été exécuté pour la dernière fois. Évidemment, il faut que le filtre ait déjà été exécuté au moins une fois pour que la plage existe....
Utilise 2 objets de type range ....
'---------------------------------- Sub Filtre_Test()
Dim MaPlage As Range Dim MaPlage1 As Range
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
En supplément, attention si aucun enregistrement n'est trouvé par le filtre ...
'------------------------------
Sub Filtre_Test()
Dim MaPlage As Range
Dim MaPlage1 As Range
Dim A As Long 'Variable contenant
'le Nombre d'enregistrements trouvés
'Set t = Sheets("Feuil1").AutoFilter.Range
'MsgBox t.Address
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
A = Application.Subtotal(3, Range("A:A")) - 1
If A > 0 Then
Set MaPlage1 = MaPlage.Offset(1, 0). _
Resize(MaPlage.Rows.Count - 1, _
MaPlage.Columns.Count).SpecialCells(xlCellTypeVisible)
MsgBox MaPlage1.Address
Else
MsgBox "Aucun enregistrement trouvé."
End If
End Sub
'------------------------------
Salutations!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:u2X1BxJLEHA.3052@TK2MSFTNGP12.phx.gbl...
Bonjour Guillaume,
Essaie ceci :
Dans la procédure,
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
la ligne de code précédente va faire planter la procédure si le filtre automatique n'est pas en place.
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
Cette ligne va toujours désigner la plage de cellules de la feuille où le filtre automatique a été exécuté pour la
dernière fois.
Évidemment, il faut que le filtre ait déjà été exécuté au moins une fois pour que la plage existe....
Utilise 2 objets de type range ....
'----------------------------------
Sub Filtre_Test()
Dim MaPlage As Range
Dim MaPlage1 As Range
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
En supplément, attention si aucun enregistrement n'est trouvé par le filtre ...
'------------------------------ Sub Filtre_Test()
Dim MaPlage As Range Dim MaPlage1 As Range Dim A As Long 'Variable contenant 'le Nombre d'enregistrements trouvés
'Set t = Sheets("Feuil1").AutoFilter.Range 'MsgBox t.Address
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")
A = Application.Subtotal(3, Range("A:A")) - 1
If A > 0 Then Set MaPlage1 = MaPlage.Offset(1, 0). _ Resize(MaPlage.Rows.Count - 1, _ MaPlage.Columns.Count).SpecialCells(xlCellTypeVisible)
MsgBox MaPlage1.Address Else MsgBox "Aucun enregistrement trouvé." End If
End Sub '------------------------------
Salutations!
"michdenis" a écrit dans le message de news: Bonjour Guillaume,
Essaie ceci :
Dans la procédure,
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
la ligne de code précédente va faire planter la procédure si le filtre automatique n'est pas en place.
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase") Cette ligne va toujours désigner la plage de cellules de la feuille où le filtre automatique a été exécuté pour la dernière fois. Évidemment, il faut que le filtre ait déjà été exécuté au moins une fois pour que la plage existe....
Utilise 2 objets de type range ....
'---------------------------------- Sub Filtre_Test()
Dim MaPlage As Range Dim MaPlage1 As Range
Set MaPlage = Sheets("Feuil1").Range("_FilterDatabase")