Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trouver une valeur dans une colonne

11 réponses
Avatar
inès
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

1 réponse

1 2
Avatar
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" 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






















1 2