J'aimerais, dans un tableau de donn=E9es tri=E9 sur plusieurs colonnes, d=
=E9terminer une plage de valeurs identiques situ=E9es dans la colonne B de =
ce tableau.
L'id=E9e qui m'est venu et de d=E9terminer la premi=E8re ligne et la derni=
=E8re ligne contenant la valeur recherch=E9e, ensuite nomm=E9e les lignes t=
rouv=E9es dans une plage.
Bonjour, Dim Adr As String With Sheets("Feuil1") Adr = "=offset(Feuil1!$B$" & Application.Match("secondaire", .[B:B], 0) & ",,," & _ Application.CountIf(.[B:B], "secondaire") & ")" ThisWorkbook.Names.Add "PlageNommée", RefersTo:r End With Daniel
Bonjour à tous,
J'aimerais, dans un tableau de données trié sur plusieurs colonnes, déterminer une plage de valeurs identiques situées dans la colonne B de ce tableau.
L'idée qui m'est venu et de déterminer la première ligne et la dernière ligne contenant la valeur recherchée, ensuite nommée les lignes trouvées dans une plage.
Mais pas code à l'instant !
Merci d'avance.
Bonjour,
Dim Adr As String
With Sheets("Feuil1")
Adr = "=offset(Feuil1!$B$" & Application.Match("secondaire",
.[B:B], 0) & ",,," & _
Application.CountIf(.[B:B], "secondaire") & ")"
ThisWorkbook.Names.Add "PlageNommée", RefersTo:r
End With
Daniel
Bonjour à tous,
J'aimerais, dans un tableau de données trié sur plusieurs colonnes,
déterminer une plage de valeurs identiques situées dans la colonne B de ce
tableau.
L'idée qui m'est venu et de déterminer la première ligne et la dernière ligne
contenant la valeur recherchée, ensuite nommée les lignes trouvées dans une
plage.
Bonjour, Dim Adr As String With Sheets("Feuil1") Adr = "=offset(Feuil1!$B$" & Application.Match("secondaire", .[B:B], 0) & ",,," & _ Application.CountIf(.[B:B], "secondaire") & ")" ThisWorkbook.Names.Add "PlageNommée", RefersTo:r End With Daniel
Bonjour à tous,
J'aimerais, dans un tableau de données trié sur plusieurs colonnes, déterminer une plage de valeurs identiques situées dans la colonne B de ce tableau.
L'idée qui m'est venu et de déterminer la première ligne et la dernière ligne contenant la valeur recherchée, ensuite nommée les lignes trouvées dans une plage.
J'ai essayé la recherche "Secondaire*" avec le joker "*" mais ça me d éclenche une erreur d'exécution.
Erreur d'exécution '1004':
La méthode Autofilter de la classe Range a échoué.
Pour le code de Jacky :
'-------------------------- Sub Plage2() With ActiveSheet.Range("A6:B" & Cells(Rows.Count, 1).End(xlUp).Row) Range("A5:B5").AutoFilter Field:=2, Criteria1:="Secondaire*" ActiveWorkbook.Names.Add Name:="plage", RefersTo:="=" & .Spec ialCells(xlCellTypeVisible).Address .AutoFilter End With '------------ 'Debug.Print "plage Jacky = " & [plage].Address 'Ou MsgBox "plage Jacky = " & [plage].Address ' '-------------- End Sub '--------------------------
et
Erreur d'exécution '13':
Incompatibilité de type
Pour le code de Daniel :
'--------------------- Sub plage3() Dim Adr As String With Sheets("Feuil1") Adr = "=offset(Feuil1!$A$" & Application.Match("Secondaire*", . [B:B], 0) & ",,," & _ Application.CountIf(.[B:B], "Secondaire*") & ",2)" ThisWorkbook.Names.Add "PlageNommée", RefersTo:r End With MsgBox "plage Daniel = " & [plagenommée].Address ' End Sub '---------------------
J'ai essayé la recherche "Secondaire*" avec le joker "*" mais ça me d éclenche une erreur d'exécution.
Erreur d'exécution '1004':
La méthode Autofilter de la classe Range a échoué.
Pour le code de Jacky :
'--------------------------
Sub Plage2()
With ActiveSheet.Range("A6:B" & Cells(Rows.Count, 1).End(xlUp).Row)
Range("A5:B5").AutoFilter Field:=2, Criteria1:="Secondaire*"
ActiveWorkbook.Names.Add Name:="plage", RefersTo:="=" & .Spec ialCells(xlCellTypeVisible).Address
.AutoFilter
End With
'------------
'Debug.Print "plage Jacky = " & [plage].Address
'Ou
MsgBox "plage Jacky = " & [plage].Address '
'--------------
End Sub
'--------------------------
et
Erreur d'exécution '13':
Incompatibilité de type
Pour le code de Daniel :
'---------------------
Sub plage3()
Dim Adr As String
With Sheets("Feuil1")
Adr = "=offset(Feuil1!$A$" & Application.Match("Secondaire*", . [B:B], 0) & ",,," & _
Application.CountIf(.[B:B], "Secondaire*") & ",2)"
ThisWorkbook.Names.Add "PlageNommée", RefersTo:=Adr
End With
MsgBox "plage Daniel = " & [plagenommée].Address '
End Sub
'---------------------
J'ai essayé la recherche "Secondaire*" avec le joker "*" mais ça me d éclenche une erreur d'exécution.
Erreur d'exécution '1004':
La méthode Autofilter de la classe Range a échoué.
Pour le code de Jacky :
'-------------------------- Sub Plage2() With ActiveSheet.Range("A6:B" & Cells(Rows.Count, 1).End(xlUp).Row) Range("A5:B5").AutoFilter Field:=2, Criteria1:="Secondaire*" ActiveWorkbook.Names.Add Name:="plage", RefersTo:="=" & .Spec ialCells(xlCellTypeVisible).Address .AutoFilter End With '------------ 'Debug.Print "plage Jacky = " & [plage].Address 'Ou MsgBox "plage Jacky = " & [plage].Address ' '-------------- End Sub '--------------------------
et
Erreur d'exécution '13':
Incompatibilité de type
Pour le code de Daniel :
'--------------------- Sub plage3() Dim Adr As String With Sheets("Feuil1") Adr = "=offset(Feuil1!$A$" & Application.Match("Secondaire*", . [B:B], 0) & ",,," & _ Application.CountIf(.[B:B], "Secondaire*") & ",2)" ThisWorkbook.Names.Add "PlageNommée", RefersTo:r End With MsgBox "plage Daniel = " & [plagenommée].Address ' End Sub '---------------------
DanielCo
Erreur d'exécution '13':
Incompatibilité de type Pour le code de Daniel :
'--------------------- Sub plage3() Dim Adr As String With Sheets("Feuil1") Adr = "=offset(Feuil1!$A$" & Application.Match("Secondaire*", .[B:B], 0) & ",,," & _ Application.CountIf(.[B:B], "Secondaire*") & ",2)" ThisWorkbook.Names.Add "PlageNommée", RefersTo:r End With MsgBox "plage Daniel = " & [plagenommée].Address ' End Sub '---------------------
Ce n'est pas ce que j'ai écrit. Pourquoi "Feuil1!$A". J'ai mis "Feuil1!$B". Daniel
Erreur d'exécution '13':
Incompatibilité de type
Pour le code de Daniel :
'---------------------
Sub plage3()
Dim Adr As String
With Sheets("Feuil1")
Adr = "=offset(Feuil1!$A$" & Application.Match("Secondaire*", .[B:B],
0) & ",,," & _ Application.CountIf(.[B:B], "Secondaire*") & ",2)"
ThisWorkbook.Names.Add "PlageNommée", RefersTo:r
End With
MsgBox "plage Daniel = " & [plagenommée].Address '
End Sub
'---------------------
Ce n'est pas ce que j'ai écrit. Pourquoi "Feuil1!$A". J'ai mis
"Feuil1!$B".
Daniel
'--------------------- Sub plage3() Dim Adr As String With Sheets("Feuil1") Adr = "=offset(Feuil1!$A$" & Application.Match("Secondaire*", .[B:B], 0) & ",,," & _ Application.CountIf(.[B:B], "Secondaire*") & ",2)" ThisWorkbook.Names.Add "PlageNommée", RefersTo:r End With MsgBox "plage Daniel = " & [plagenommée].Address ' End Sub '---------------------
Ce n'est pas ce que j'ai écrit. Pourquoi "Feuil1!$A". J'ai mis "Feuil1!$B". Daniel
DanielCo
Ce n'est pas ce que j'ai écrit. Pourquoi "Feuil1!$A". J'ai mis "Feuil1!$B". Daniel
Oups, au temps pour moi. Mais il n'y a pas d'erreur ? Sur quelle ligne en as-tu une ? Daniel
Ce n'est pas ce que j'ai écrit. Pourquoi "Feuil1!$A". J'ai mis "Feuil1!$B".
Daniel
Oups, au temps pour moi. Mais il n'y a pas d'erreur ? Sur quelle ligne
en as-tu une ?
Daniel