Comment faire en Vba la chose suivante.
Cellule A1 est une cellule ou j'introduit le texte TOTO.
J'aimerai trier dans la cellule A12:Z500 toutes les lignes comportant Toto.
J'ai essayer en bidouillant la macro suivante:
If Range("A1").Value = "" Then
Range("A1").Value = a
Selection.AutoFilter
Range("A12:Z12").Select
Selection.AutoFilter Field:=1, Criteria1:="=*a*", Operator:=xlAnd
End If
Modifie le critère de tri: Criteria1:="=*" & [A1].Value & "*" Ce qui donne un critère de tri = *toto*, si toto en A1 Brunos
"inès" a écrit dans le message de news:
Rebonjour Brunos
Désolée de t'opportuné, j'ai utilisé la macro suivant: ActiveSheet.Range("$A$12:$Z$500 ").AutoFilter Field:=1, Criteria1:= [A1].Value Elle fonctionne a merveille mais j'aimerais quelle fonctionne avec des phrases contenant Toto. Est ce possible ? si non j'utiliserai la deuxième version de ton message.
Salutations Inès
La formule marche uniquement pour la valeur exacte "toto". J'avais mal lu. Si tu veux que ça marche avec des phrases contenant "toto", il faut mettre la formule suivante en AA12 =SOMMEPROD(ESTNUM(CHERCHE($A$1;A12:Z12))*1) Brunos
"Brunos" a écrit dans le message de news:
Bonjour Inès
Si ton filtre fait référence à la valeur de la cellule A1 ActiveSheet.Range("$A$12:$Z$500 ").AutoFilter Field:=1, Criteria1: > >> > [A1].Value Mais le filtre n'est QUE sur la 1ère colonne. Tu n'auras pas les lignes dont une valeur est égale à A1 dans une autre colonne que A.
Si tu veux filtrer sur plusieurs colonnes, je te suggère une méthode assez simple : Tu fais une colonne supplémentaire, en bout de ligne par exemple, colonne AA. En AA12 tu mets la formule =NB.SI(A12:Z12;"$A$1") qui te donnes le nombre de fois qu'apparait "toto" dans la ligne. Tu copie la formule jusqu'à AA500. Et tu filtres sur la colonne AA : ActiveSheet.Range("$A$12:$AA$500 ").AutoFilter Field:', Criteria1: > >> > ">0"
Brunos
"inès" a écrit dans le message de news:
Bonjour JB
Merci pour la macro mais elle ne fonctionne pas. elle me selectionne la fausse ligne au lieu de selectioner la ligne A12 elle selectionne la ligne A5. Les données se trouvent entre la ligne A12 et A500. De plus le texte n'est pas toujours que "TOTO" mais peux être aussi "Toto va à la plage".
Salutations
Inès
Bonjour,
[A12].AutoFilter Field:=1, Criteria1:=[A1]
JB
On 17 jan, 11:55, inès wrote:
Bonjour
Comment faire en Vba la chose suivante. Cellule A1 est une cellule ou j'introduit le texte TOTO. J'aimerai trier dans la cellule A12:Z500 toutes les lignes comportant Toto.. J'ai essayer en bidouillant la macro suivante:
If Range("A1").Value = "" Then Range("A1").Value = a Selection.AutoFilter Range("A12:Z12").Select Selection.AutoFilter Field:=1, Criteria1:="=*a*", Operator:=xlAnd End If
End Sub
merci pour l aide
Inès
Merci beaucoup Brunos ça fonctionne a merveille
Salutations
Inès
Modifie le critère de tri:
Criteria1:="=*" & [A1].Value & "*"
Ce qui donne un critère de tri = *toto*, si toto en A1
Brunos
"inès" <ins@discussions.microsoft.com> a écrit dans le message de news:
A3E30DDE-502E-4BBF-9869-5E3C13C5652C@microsoft.com...
Rebonjour Brunos
Désolée de t'opportuné, j'ai utilisé la macro suivant:
ActiveSheet.Range("$A$12:$Z$500 ").AutoFilter Field:=1, Criteria1:=
[A1].Value
Elle fonctionne a merveille mais j'aimerais quelle fonctionne avec des
phrases contenant Toto. Est ce possible ?
si non j'utiliserai la deuxième version de ton message.
Salutations
Inès
La formule marche uniquement pour la valeur exacte "toto". J'avais
mal
lu.
Si tu veux que ça marche avec des phrases contenant "toto",
il faut mettre la formule suivante en AA12
=SOMMEPROD(ESTNUM(CHERCHE($A$1;A12:Z12))*1)
Brunos
"Brunos" <pasdemail@moi.mezig> a écrit dans le message de news:
eJbiGMRWIHA.5348@TK2MSFTNGP03.phx.gbl...
Bonjour Inès
Si ton filtre fait référence à la valeur de la cellule A1
ActiveSheet.Range("$A$12:$Z$500 ").AutoFilter Field:=1, Criteria1: > >> > [A1].Value
Mais le filtre n'est QUE sur la 1ère colonne.
Tu n'auras pas les lignes dont une valeur est égale à A1 dans une
autre colonne que A.
Si tu veux filtrer sur plusieurs colonnes, je te suggère une
méthode
assez simple :
Tu fais une colonne supplémentaire, en bout de ligne par exemple,
colonne AA.
En AA12 tu mets la formule =NB.SI(A12:Z12;"$A$1") qui te donnes le
nombre de fois qu'apparait "toto" dans la ligne.
Tu copie la formule jusqu'à AA500.
Et tu filtres sur la colonne AA :
ActiveSheet.Range("$A$12:$AA$500 ").AutoFilter Field:',
Criteria1: > >> > ">0"
Brunos
"inès" <ins@discussions.microsoft.com> a écrit dans le message de
news: 3320ABCC-8772-4838-A27C-F743BE4048D2@microsoft.com...
Bonjour JB
Merci pour la macro mais elle ne fonctionne pas.
elle me selectionne la fausse ligne au lieu de selectioner la
ligne
A12 elle
selectionne la ligne A5.
Les données se trouvent entre la ligne A12 et A500. De plus le
texte
n'est
pas toujours que "TOTO" mais peux être aussi "Toto va à la plage".
Salutations
Inès
Bonjour,
[A12].AutoFilter Field:=1, Criteria1:=[A1]
JB
On 17 jan, 11:55, inès <i...@discussions.microsoft.com> wrote:
Bonjour
Comment faire en Vba la chose suivante.
Cellule A1 est une cellule ou j'introduit le texte TOTO.
J'aimerai trier dans la cellule A12:Z500 toutes les lignes
comportant Toto..
J'ai essayer en bidouillant la macro suivante:
If Range("A1").Value = "" Then
Range("A1").Value = a
Selection.AutoFilter
Range("A12:Z12").Select
Selection.AutoFilter Field:=1, Criteria1:="=*a*",
Operator:=xlAnd
End If
Modifie le critère de tri: Criteria1:="=*" & [A1].Value & "*" Ce qui donne un critère de tri = *toto*, si toto en A1 Brunos
"inès" a écrit dans le message de news:
Rebonjour Brunos
Désolée de t'opportuné, j'ai utilisé la macro suivant: ActiveSheet.Range("$A$12:$Z$500 ").AutoFilter Field:=1, Criteria1:= [A1].Value Elle fonctionne a merveille mais j'aimerais quelle fonctionne avec des phrases contenant Toto. Est ce possible ? si non j'utiliserai la deuxième version de ton message.
Salutations Inès
La formule marche uniquement pour la valeur exacte "toto". J'avais mal lu. Si tu veux que ça marche avec des phrases contenant "toto", il faut mettre la formule suivante en AA12 =SOMMEPROD(ESTNUM(CHERCHE($A$1;A12:Z12))*1) Brunos
"Brunos" a écrit dans le message de news:
Bonjour Inès
Si ton filtre fait référence à la valeur de la cellule A1 ActiveSheet.Range("$A$12:$Z$500 ").AutoFilter Field:=1, Criteria1: > >> > [A1].Value Mais le filtre n'est QUE sur la 1ère colonne. Tu n'auras pas les lignes dont une valeur est égale à A1 dans une autre colonne que A.
Si tu veux filtrer sur plusieurs colonnes, je te suggère une méthode assez simple : Tu fais une colonne supplémentaire, en bout de ligne par exemple, colonne AA. En AA12 tu mets la formule =NB.SI(A12:Z12;"$A$1") qui te donnes le nombre de fois qu'apparait "toto" dans la ligne. Tu copie la formule jusqu'à AA500. Et tu filtres sur la colonne AA : ActiveSheet.Range("$A$12:$AA$500 ").AutoFilter Field:', Criteria1: > >> > ">0"
Brunos
"inès" a écrit dans le message de news:
Bonjour JB
Merci pour la macro mais elle ne fonctionne pas. elle me selectionne la fausse ligne au lieu de selectioner la ligne A12 elle selectionne la ligne A5. Les données se trouvent entre la ligne A12 et A500. De plus le texte n'est pas toujours que "TOTO" mais peux être aussi "Toto va à la plage".
Salutations
Inès
Bonjour,
[A12].AutoFilter Field:=1, Criteria1:=[A1]
JB
On 17 jan, 11:55, inès wrote:
Bonjour
Comment faire en Vba la chose suivante. Cellule A1 est une cellule ou j'introduit le texte TOTO. J'aimerai trier dans la cellule A12:Z500 toutes les lignes comportant Toto.. J'ai essayer en bidouillant la macro suivante:
If Range("A1").Value = "" Then Range("A1").Value = a Selection.AutoFilter Range("A12:Z12").Select Selection.AutoFilter Field:=1, Criteria1:="=*a*", Operator:=xlAnd End If