Bonjour,
Voici un exemple comment procéder.
Si dans la colonne C, j'ai supposé que la colonne avait une étiquette de colonne
il y a "sur" ou "sous", mettre un X dans la feuil2 de la colonne D dans l a même
ligne où la donnée fut trouvée en feuil1
Si tu travailles sur des classeurs différents, tu n'as qu'à ajouter
le nom du classeur comme ceci : Workbooks("NomClasseur.xls").worksheet s("Feuil1")...
'-------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range
Application.ScreenUpdating = False
'Définir la plage de la feuille source : Colonne "C"
With Worksheets("Feuil1")
Set Rg = .Range("C1:C" & .Range("C65536").End(xlUp).Row)
End With
'Sur la plage source, application d'un filtre pour ne retenir
'les lignes désirées
With Rg
.AutoFilter field:=1, Criteria1:="Sur", Operator:=xlOr, Cri teria2:="sous"
'Définir la plage qu'à retenu le filtre automatique
Set Plg = .Offset(1).Resize(Rg.Rows.Count - 1).SpecialCells(xlC ellTypeVisible)
End With
'Copie dans l'autre feuille, un X dans les lignes désignées
'de la colonne D
With Worksheets("Feuil2")
.Range(Plg.Address).Offset(, 1) = "X"
End With
'enlever le filtre automatique
Rg.AutoFilter
Application.ScreenUpdating = True
End Sub
'-------------------------------
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
Bonjour tout les monde
je voudrais mettre un "X" si dans la colonne source ne retrouve les
mots comme "sous" ou "sur" en met dans la colonne destination en met
un "X"
ces deux se trouve dans deux feuilles sur le meme classeurs:
calsseur 1
A B C
1 sous
2 dans
3 en dessus
4 sur
calsseur 2
A B C D E
1 X
2
3
4 X
5
voila mon code mais je crois qu il n est pas correct
Sub StopC()
Dim Rg As Range, Plg As Range, C As Range
Dim ColDestTyp As Integer, ColSourceTyp As Integer
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
With Worksheets("Feuil2")
Set Plg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour déterminer la colonne source où sont les données
ColSourceTyp = Columns("B").Column - 1
'Pour déterminer la colonne où seront copiées les données
ColDestTyp = Columns("E").Column - 1
For Each C In Plg
If Not C.Offset(, ColSourceTyp).Value = "sous" Or C.Offset(,
ColSourceTyp).Value Then
'Or ColSourceTyp = "ouverte" Or ColSourceTyp = "complétée " Or
ColSourceTyp = "confirmée" Then
C.Offset(, ColDestTyp).Value = "X"
' If Not IsError(x) Then
' C.Offset(, ColDestPren).Value = Rg(x).Offset(,
ColSourcePren).Value
End If
Next C
End Sub
Merci
Bonjour,
Voici un exemple comment procéder.
Si dans la colonne C, j'ai supposé que la colonne avait une étiquette de colonne
il y a "sur" ou "sous", mettre un X dans la feuil2 de la colonne D dans l a même
ligne où la donnée fut trouvée en feuil1
Si tu travailles sur des classeurs différents, tu n'as qu'à ajouter
le nom du classeur comme ceci : Workbooks("NomClasseur.xls").worksheet s("Feuil1")...
'-------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range
Application.ScreenUpdating = False
'Définir la plage de la feuille source : Colonne "C"
With Worksheets("Feuil1")
Set Rg = .Range("C1:C" & .Range("C65536").End(xlUp).Row)
End With
'Sur la plage source, application d'un filtre pour ne retenir
'les lignes désirées
With Rg
.AutoFilter field:=1, Criteria1:="Sur", Operator:=xlOr, Cri teria2:="sous"
'Définir la plage qu'à retenu le filtre automatique
Set Plg = .Offset(1).Resize(Rg.Rows.Count - 1).SpecialCells(xlC ellTypeVisible)
End With
'Copie dans l'autre feuille, un X dans les lignes désignées
'de la colonne D
With Worksheets("Feuil2")
.Range(Plg.Address).Offset(, 1) = "X"
End With
'enlever le filtre automatique
Rg.AutoFilter
Application.ScreenUpdating = True
End Sub
'-------------------------------
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
65451a36-0d95-40cc-8b4d-0f174d39e...@t13g2000vbo.googlegroups.com...
Bonjour tout les monde
je voudrais mettre un "X" si dans la colonne source ne retrouve les
mots comme "sous" ou "sur" en met dans la colonne destination en met
un "X"
ces deux se trouve dans deux feuilles sur le meme classeurs:
calsseur 1
A B C
1 sous
2 dans
3 en dessus
4 sur
calsseur 2
A B C D E
1 X
2
3
4 X
5
voila mon code mais je crois qu il n est pas correct
Sub StopC()
Dim Rg As Range, Plg As Range, C As Range
Dim ColDestTyp As Integer, ColSourceTyp As Integer
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
With Worksheets("Feuil2")
Set Plg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour déterminer la colonne source où sont les données
ColSourceTyp = Columns("B").Column - 1
'Pour déterminer la colonne où seront copiées les données
ColDestTyp = Columns("E").Column - 1
For Each C In Plg
If Not C.Offset(, ColSourceTyp).Value = "sous" Or C.Offset(,
ColSourceTyp).Value Then
'Or ColSourceTyp = "ouverte" Or ColSourceTyp = "complétée " Or
ColSourceTyp = "confirmée" Then
C.Offset(, ColDestTyp).Value = "X"
' If Not IsError(x) Then
' C.Offset(, ColDestPren).Value = Rg(x).Offset(,
ColSourcePren).Value
End If
Next C
End Sub
Merci
Bonjour,
Voici un exemple comment procéder.
Si dans la colonne C, j'ai supposé que la colonne avait une étiquette de colonne
il y a "sur" ou "sous", mettre un X dans la feuil2 de la colonne D dans l a même
ligne où la donnée fut trouvée en feuil1
Si tu travailles sur des classeurs différents, tu n'as qu'à ajouter
le nom du classeur comme ceci : Workbooks("NomClasseur.xls").worksheet s("Feuil1")...
'-------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range
Application.ScreenUpdating = False
'Définir la plage de la feuille source : Colonne "C"
With Worksheets("Feuil1")
Set Rg = .Range("C1:C" & .Range("C65536").End(xlUp).Row)
End With
'Sur la plage source, application d'un filtre pour ne retenir
'les lignes désirées
With Rg
.AutoFilter field:=1, Criteria1:="Sur", Operator:=xlOr, Cri teria2:="sous"
'Définir la plage qu'à retenu le filtre automatique
Set Plg = .Offset(1).Resize(Rg.Rows.Count - 1).SpecialCells(xlC ellTypeVisible)
End With
'Copie dans l'autre feuille, un X dans les lignes désignées
'de la colonne D
With Worksheets("Feuil2")
.Range(Plg.Address).Offset(, 1) = "X"
End With
'enlever le filtre automatique
Rg.AutoFilter
Application.ScreenUpdating = True
End Sub
'-------------------------------
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
Bonjour tout les monde
je voudrais mettre un "X" si dans la colonne source ne retrouve les
mots comme "sous" ou "sur" en met dans la colonne destination en met
un "X"
ces deux se trouve dans deux feuilles sur le meme classeurs:
calsseur 1
A B C
1 sous
2 dans
3 en dessus
4 sur
calsseur 2
A B C D E
1 X
2
3
4 X
5
voila mon code mais je crois qu il n est pas correct
Sub StopC()
Dim Rg As Range, Plg As Range, C As Range
Dim ColDestTyp As Integer, ColSourceTyp As Integer
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
With Worksheets("Feuil2")
Set Plg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour déterminer la colonne source où sont les données
ColSourceTyp = Columns("B").Column - 1
'Pour déterminer la colonne où seront copiées les données
ColDestTyp = Columns("E").Column - 1
For Each C In Plg
If Not C.Offset(, ColSourceTyp).Value = "sous" Or C.Offset(,
ColSourceTyp).Value Then
'Or ColSourceTyp = "ouverte" Or ColSourceTyp = "complétée " Or
ColSourceTyp = "confirmée" Then
C.Offset(, ColDestTyp).Value = "X"
' If Not IsError(x) Then
' C.Offset(, ColDestPren).Value = Rg(x).Offset(,
ColSourcePren).Value
End If
Next C
End Sub
Merci
Essaie comme ceci :
'---------------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range
Dim C As Range, Trouve As Range
Application.ScreenUpdating = False
'D finir la plage de la feuille source : Colonne "C"
'IL est pris pour acquis que la ligne 1 contient les
' tiquettes de colonnes.
Application.ScreenUpdating = False
'D finir la plage source
With Worksheets("Feuil1")
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
'Ceci va restreindre le nombre de boucle n cessaire plus bas
.AutoFilter field:=1, Criteria1:="Sur", _
Operator:=xlOr, Criteria2:="sous"
'D finir la plage qu' retenu le filtre automatique pour l es boucles
Set Rg = .Offset(1).Resize(.Rows.Count - 1).SpecialCell s(xlCellTypeVisible)
End With
End With
'D finir la plage de destination
With Worksheets("Feuil2")
Set Plg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour chacune des valeur de la colonne 1 o il y a sur ou sous
'dans la colonne C, recherche dans la feuil2 col 1 s'il y a
'une correspondance, si oui, mettre un x dans la colonne E
For Each C In Rg
With Plg
Set Trouve = .Find(what:=C.Offset(, -2).Value, LookIn :=xlValues)
If Not Trouve Is Nothing Then
adr = Trouve.Address
End If
Do
Trouve.Offset(, 4) = "X"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End With
Next
'Mettre fin au filtre automatique
Rg.AutoFilter
Application.ScreenUpdating = True
End Sub
'---------------------------------------
MichD
--------------------------------------------
Essaie comme ceci :
'---------------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range
Dim C As Range, Trouve As Range
Application.ScreenUpdating = False
'D finir la plage de la feuille source : Colonne "C"
'IL est pris pour acquis que la ligne 1 contient les
' tiquettes de colonnes.
Application.ScreenUpdating = False
'D finir la plage source
With Worksheets("Feuil1")
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
'Ceci va restreindre le nombre de boucle n cessaire plus bas
.AutoFilter field:=1, Criteria1:="Sur", _
Operator:=xlOr, Criteria2:="sous"
'D finir la plage qu' retenu le filtre automatique pour l es boucles
Set Rg = .Offset(1).Resize(.Rows.Count - 1).SpecialCell s(xlCellTypeVisible)
End With
End With
'D finir la plage de destination
With Worksheets("Feuil2")
Set Plg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour chacune des valeur de la colonne 1 o il y a sur ou sous
'dans la colonne C, recherche dans la feuil2 col 1 s'il y a
'une correspondance, si oui, mettre un x dans la colonne E
For Each C In Rg
With Plg
Set Trouve = .Find(what:=C.Offset(, -2).Value, LookIn :=xlValues)
If Not Trouve Is Nothing Then
adr = Trouve.Address
End If
Do
Trouve.Offset(, 4) = "X"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End With
Next
'Mettre fin au filtre automatique
Rg.AutoFilter
Application.ScreenUpdating = True
End Sub
'---------------------------------------
MichD
--------------------------------------------
Essaie comme ceci :
'---------------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range
Dim C As Range, Trouve As Range
Application.ScreenUpdating = False
'D finir la plage de la feuille source : Colonne "C"
'IL est pris pour acquis que la ligne 1 contient les
' tiquettes de colonnes.
Application.ScreenUpdating = False
'D finir la plage source
With Worksheets("Feuil1")
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
'Ceci va restreindre le nombre de boucle n cessaire plus bas
.AutoFilter field:=1, Criteria1:="Sur", _
Operator:=xlOr, Criteria2:="sous"
'D finir la plage qu' retenu le filtre automatique pour l es boucles
Set Rg = .Offset(1).Resize(.Rows.Count - 1).SpecialCell s(xlCellTypeVisible)
End With
End With
'D finir la plage de destination
With Worksheets("Feuil2")
Set Plg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour chacune des valeur de la colonne 1 o il y a sur ou sous
'dans la colonne C, recherche dans la feuil2 col 1 s'il y a
'une correspondance, si oui, mettre un x dans la colonne E
For Each C In Rg
With Plg
Set Trouve = .Find(what:=C.Offset(, -2).Value, LookIn :=xlValues)
If Not Trouve Is Nothing Then
adr = Trouve.Address
End If
Do
Trouve.Offset(, 4) = "X"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End With
Next
'Mettre fin au filtre automatique
Rg.AutoFilter
Application.ScreenUpdating = True
End Sub
'---------------------------------------
MichD
--------------------------------------------
Tu dois alors utiliser un filtre labor au lieu d'un filtre automatique
La feuil1 est r put e avoir une d' tiquette en C1 et les donn es
d butent en C2
'----------------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range, Sh As Worksheet
Dim C As Range, Trouve As Range
Application.ScreenUpdating = False
'D finir la plage de la feuille source : Colonne "C"
'IL est pris pour acquis que la ligne 1 contient les
' tiquettes de colonnes.
Application.ScreenUpdating = False
'D finir la plage source
Set Sh = Worksheets("Feuil1")
With Sh
'Z1:Z2 est la zone de crit re pour le filtre labor
'qui utilise une formule. Tu peux utiliser les 2 cellules
'de ton choix
.Range("Z1") = ""
.Range("Z2").Formula = "=OR(C2=""sous"",C2=""sur""," & _
"C2=""en dessous"",C2=""en de ssus"")"
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
'Ceci va restreindre le nombre de boucle n cessaire plus bas
.AdvancedFilter xlFilterInPlace, Sh.Range("Z1:Z2")
'D finir la plage qu' retenu le filtre automatique pour l es boucles
Set Rg = .Offset(1).Resize(.Rows.Count - 1).SpecialCell s(xlCellTypeVisible)
End With
End With
'D finir la plage de destination
With Worksheets("Feuil2")
Set Plg = .Range("AH1:AH" & .Range("Ah65536").End(xlUp).Row)
End With
'Pour chacune des valeur de la colonne 1 o il y a sur ou sous
'dans la colonne C, recherche dans la feuil2 col 1 s'il y a
'une correspondance, si oui, mettre un x dans la colonne E
For Each C In Rg
With Plg
Set Trouve = .Find(what:=C.Offset(, -2).Value, LookIn :=xlValues)
If Not Trouve Is Nothing Then
adr = Trouve.Address
End If
Do
Trouve.Offset(, 23) = "X"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End With
Next
'Mettre fin au filtre labor
On Error Resume Next
With Sh
.Range("Z1") = ""
.Range("Z2") = ""
.ShowAllData
End With
Application.ScreenUpdating = True
End Sub
'----------------------------------------
Tu dois alors utiliser un filtre labor au lieu d'un filtre automatique
La feuil1 est r put e avoir une d' tiquette en C1 et les donn es
d butent en C2
'----------------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range, Sh As Worksheet
Dim C As Range, Trouve As Range
Application.ScreenUpdating = False
'D finir la plage de la feuille source : Colonne "C"
'IL est pris pour acquis que la ligne 1 contient les
' tiquettes de colonnes.
Application.ScreenUpdating = False
'D finir la plage source
Set Sh = Worksheets("Feuil1")
With Sh
'Z1:Z2 est la zone de crit re pour le filtre labor
'qui utilise une formule. Tu peux utiliser les 2 cellules
'de ton choix
.Range("Z1") = ""
.Range("Z2").Formula = "=OR(C2=""sous"",C2=""sur""," & _
"C2=""en dessous"",C2=""en de ssus"")"
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
'Ceci va restreindre le nombre de boucle n cessaire plus bas
.AdvancedFilter xlFilterInPlace, Sh.Range("Z1:Z2")
'D finir la plage qu' retenu le filtre automatique pour l es boucles
Set Rg = .Offset(1).Resize(.Rows.Count - 1).SpecialCell s(xlCellTypeVisible)
End With
End With
'D finir la plage de destination
With Worksheets("Feuil2")
Set Plg = .Range("AH1:AH" & .Range("Ah65536").End(xlUp).Row)
End With
'Pour chacune des valeur de la colonne 1 o il y a sur ou sous
'dans la colonne C, recherche dans la feuil2 col 1 s'il y a
'une correspondance, si oui, mettre un x dans la colonne E
For Each C In Rg
With Plg
Set Trouve = .Find(what:=C.Offset(, -2).Value, LookIn :=xlValues)
If Not Trouve Is Nothing Then
adr = Trouve.Address
End If
Do
Trouve.Offset(, 23) = "X"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End With
Next
'Mettre fin au filtre labor
On Error Resume Next
With Sh
.Range("Z1") = ""
.Range("Z2") = ""
.ShowAllData
End With
Application.ScreenUpdating = True
End Sub
'----------------------------------------
Tu dois alors utiliser un filtre labor au lieu d'un filtre automatique
La feuil1 est r put e avoir une d' tiquette en C1 et les donn es
d butent en C2
'----------------------------------------
Sub StopC()
Dim Rg As Range, Plg As Range, Sh As Worksheet
Dim C As Range, Trouve As Range
Application.ScreenUpdating = False
'D finir la plage de la feuille source : Colonne "C"
'IL est pris pour acquis que la ligne 1 contient les
' tiquettes de colonnes.
Application.ScreenUpdating = False
'D finir la plage source
Set Sh = Worksheets("Feuil1")
With Sh
'Z1:Z2 est la zone de crit re pour le filtre labor
'qui utilise une formule. Tu peux utiliser les 2 cellules
'de ton choix
.Range("Z1") = ""
.Range("Z2").Formula = "=OR(C2=""sous"",C2=""sur""," & _
"C2=""en dessous"",C2=""en de ssus"")"
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
'Ceci va restreindre le nombre de boucle n cessaire plus bas
.AdvancedFilter xlFilterInPlace, Sh.Range("Z1:Z2")
'D finir la plage qu' retenu le filtre automatique pour l es boucles
Set Rg = .Offset(1).Resize(.Rows.Count - 1).SpecialCell s(xlCellTypeVisible)
End With
End With
'D finir la plage de destination
With Worksheets("Feuil2")
Set Plg = .Range("AH1:AH" & .Range("Ah65536").End(xlUp).Row)
End With
'Pour chacune des valeur de la colonne 1 o il y a sur ou sous
'dans la colonne C, recherche dans la feuil2 col 1 s'il y a
'une correspondance, si oui, mettre un x dans la colonne E
For Each C In Rg
With Plg
Set Trouve = .Find(what:=C.Offset(, -2).Value, LookIn :=xlValues)
If Not Trouve Is Nothing Then
adr = Trouve.Address
End If
Do
Trouve.Offset(, 23) = "X"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End With
Next
'Mettre fin au filtre labor
On Error Resume Next
With Sh
.Range("Z1") = ""
.Range("Z2") = ""
.ShowAllData
End With
Application.ScreenUpdating = True
End Sub
'----------------------------------------
j ai tenté par tout les moyens mais sa fonctionne pas je vois que le
code que tu as mis ne prend pas en considération que j ai une colonne
ID que se trouve sur les deux feuilles donc ils doivent matcher
exactement comme dans l exemple
Feuil 1
A B Z
1234 sous
2895 dans
3654 en dessus
5926 sur
Feuil 2
A B C D AH
1234 X
4321
3784
5926 X
5263
MErci
j ai tenté par tout les moyens mais sa fonctionne pas je vois que le
code que tu as mis ne prend pas en considération que j ai une colonne
ID que se trouve sur les deux feuilles donc ils doivent matcher
exactement comme dans l exemple
Feuil 1
A B Z
1234 sous
2895 dans
3654 en dessus
5926 sur
Feuil 2
A B C D AH
1234 X
4321
3784
5926 X
5263
MErci
j ai tenté par tout les moyens mais sa fonctionne pas je vois que le
code que tu as mis ne prend pas en considération que j ai une colonne
ID que se trouve sur les deux feuilles donc ils doivent matcher
exactement comme dans l exemple
Feuil 1
A B Z
1234 sous
2895 dans
3654 en dessus
5926 sur
Feuil 2
A B C D AH
1234 X
4321
3784
5926 X
5263
MErci
bonjour joseph,
met cette formule sur la feuille 2 en cellule AH2
=SI(NON(ESTERREUR(EQUIV(INDEX(Feuil1!$Z$2:Z$5;EQUIV(A2;Feuil1!$A$2:$A$5;0));{"sous";"sur"};0)));"X";"")
--
isabelle
bonjour joseph,
met cette formule sur la feuille 2 en cellule AH2
=SI(NON(ESTERREUR(EQUIV(INDEX(Feuil1!$Z$2:Z$5;EQUIV(A2;Feuil1!$A$2:$A$5;0));{"sous";"sur"};0)));"X";"")
--
isabelle
bonjour joseph,
met cette formule sur la feuille 2 en cellule AH2
=SI(NON(ESTERREUR(EQUIV(INDEX(Feuil1!$Z$2:Z$5;EQUIV(A2;Feuil1!$A$2:$A$5;0));{"sous";"sur"};0)));"X";"")
--
isabelle
Bonjour, j'avais aussi ceci
=SI(ESTNUM(CHERCHE(INDEX(Feuil1!$A$2:$C$5;EQUIV(A2;Feuil1!$A$2:$A$5;0);3);"sousur";1));"X";"")
Michel
"isabelle" a écrit dans le message de news:
iocimk$421$bonjour joseph,
met cette formule sur la feuille 2 en cellule AH2
=SI(NON(ESTERREUR(EQUIV(INDEX(Feuil1!$Z$2:Z$5;EQUIV(A2;Feuil1!$A$2:$A$5;0));{"sous";"sur"};0)));"X";"")
--
isabelle
Bonjour, j'avais aussi ceci
=SI(ESTNUM(CHERCHE(INDEX(Feuil1!$A$2:$C$5;EQUIV(A2;Feuil1!$A$2:$A$5;0);3);"sousur";1));"X";"")
Michel
"isabelle"<i@v.org> a écrit dans le message de news:
iocimk$421$1@speranza.aioe.org...
bonjour joseph,
met cette formule sur la feuille 2 en cellule AH2
=SI(NON(ESTERREUR(EQUIV(INDEX(Feuil1!$Z$2:Z$5;EQUIV(A2;Feuil1!$A$2:$A$5;0));{"sous";"sur"};0)));"X";"")
--
isabelle
Bonjour, j'avais aussi ceci
=SI(ESTNUM(CHERCHE(INDEX(Feuil1!$A$2:$C$5;EQUIV(A2;Feuil1!$A$2:$A$5;0);3);"sousur";1));"X";"")
Michel
"isabelle" a écrit dans le message de news:
iocimk$421$bonjour joseph,
met cette formule sur la feuille 2 en cellule AH2
=SI(NON(ESTERREUR(EQUIV(INDEX(Feuil1!$Z$2:Z$5;EQUIV(A2;Feuil1!$A$2:$A$5;0));{"sous";"sur"};0)));"X";"")
--
isabelle