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

10 réponses

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


Avatar
inès
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






Avatar
Brunos
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








Avatar
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.



Petite correction : enlever les guillemets dans la formule
=NB.SI(A12:Z12;$A$1)
Brunos

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












Avatar
inès
Bonjour Brunos

Super pour la première macro, elle fonctionne parfaitement.
J'ai encore un petit problème, la syntaxe doit étre exact pour que cela
fonctionne, est ce qu'il y a une astuce suplémentaire pour trouvé toute les
cellules qui contienne Toto. Certaine cellule comporte un texte comme "la
plage de Toto est sale"

Salutations

Inès


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













Avatar
Brunos
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












Avatar
inès
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
















Avatar
Brunos
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


















Avatar
JB
Sub filtre()
[A12].AutoFilter Field:=1, Criteria1:="=*" & [A1] & "*",
Operator:=xlAnd
End Sub

Sub tout()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub

http://cjoint.com/?brqMpbvX4a

JB


On 17 jan, 14:22, inès wrote:
Bonjour JB

Merci pour la macro mais elle ne fonctionne pas.
elle me selectionne la fausse ligne au lieu de selectioner la ligne A12 el le
selectionne la ligne A5.
Les données se trouvent entre la ligne A12 et A500. De plus le texte n'e st
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*", Operat or:=xlAnd
    End If

End Sub

merci pour l aide

Inès- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
inès
Merci beaucoup

Salutations

Inès



Sub filtre()
[A12].AutoFilter Field:=1, Criteria1:="=*" & [A1] & "*",
Operator:=xlAnd
End Sub

Sub tout()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub

http://cjoint.com/?brqMpbvX4a

JB


On 17 jan, 14:22, inès wrote:
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- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -








1 2