Comparaison entre 2 cellules

Le
fido76
Bonjour à tous.

Après plusieurs jours de recherche, je me décide à faire appel a vos
connaissances.

Voila mon probleme, prenons trois cellules A1,B1,C1

Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc

Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la cellule C1
m'affiche la difference soit 3-5-7-8.

Jai deja trouvé un début de reponse en tapant dans C1, =SUBSTITUE(A1;B1) ms
malheuresement cela ne fonctione que si la serie se suit.

En esperant avoir été assez clair, je vous remercie par avance de vos
reponses
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo P.
Le #17896991
Sub Lesmanques()
Dim i
[C1].ClearContents
For i = 1 To Len([A1])
If InStr([B1], Mid([A1], i, 1)) = 0 Then
[C1] = [C1] & Mid([A1], i, 1) & "-"
End If
Next
[C1]=left([C1],Len([C1])-1)
End Sub
"fido76" news:
Bonjour à tous.

Après plusieurs jours de recherche, je me décide à faire appel a vos
connaissances.

Voila mon probleme, prenons trois cellules A1,B1,C1

Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...

Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la cellule


C1
m'affiche la difference soit 3-5-7-8.

Jai deja trouvé un début de reponse en tapant dans C1, =SUBSTITUE(A1;B1)


ms
malheuresement cela ne fonctione que si la serie se suit.

En esperant avoir été assez clair, je vous remercie par avance de vos
reponses




Sam
Le #17900901
Bonjour,
si la série n'est pas trop longue tu pourrais écrire par exemple :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;GAUCHE(B1;2);"");STXT(B1;2;2);"");STXT(B1;4;2);"");STXT(B1;6;2);"")

Cordialement
Michel dit "Sam"
"fido76"
Bonjour à tous.

Après plusieurs jours de recherche, je me décide à faire appel a vos
connaissances.

Voila mon probleme, prenons trois cellules A1,B1,C1

Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...

Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la cellule
C1 m'affiche la difference soit 3-5-7-8.

Jai deja trouvé un début de reponse en tapant dans C1, =SUBSTITUE(A1;B1)
ms malheuresement cela ne fonctione que si la serie se suit.

En esperant avoir été assez clair, je vous remercie par avance de vos
reponses



Fredo P.
Le #17903791
Ou encore plus simple, une fonction :

Public Function Absents(A$, B$)
Dim i, C$
For i = 1 To Len(A)
If InStr(B, Mid(A, i, 1)) = 0 Then
C = C & Mid(A, i, 1) & "-"
End If
Next
Absents = Left(C, Len(C) - 1)
End Function

Dans une cellule: «sents(A1;B1)

Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...

Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la cellule


C1
m'affiche la difference soit 3-5-7-8.



fido76
Le #17906151
Tout d'abord merci pour ta reponse
Cela fonctionne mais seulement si la serie s'arrete à 9
C'est a dire que dans le cas de nombres à 2 chiffre ( ex :10-14-16-22) si je
rentre 10-16, cela me supprime tout les 1 donc je me retrouve avec une serie
du type 0-4-6-2-2

Aurai tu une solution pour palier a ce problème
Je te remercie d'avance


"Fredo P."
Sub Lesmanques()
Dim i
[C1].ClearContents
For i = 1 To Len([A1])
If InStr([B1], Mid([A1], i, 1)) = 0 Then
[C1] = [C1] & Mid([A1], i, 1) & "-"
End If
Next
[C1]=left([C1],Len([C1])-1)
End Sub
"fido76" news:
Bonjour à tous.

Après plusieurs jours de recherche, je me décide à faire appel a vos
connaissances.

Voila mon probleme, prenons trois cellules A1,B1,C1

Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...

Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la cellule


C1
m'affiche la difference soit 3-5-7-8.

Jai deja trouvé un début de reponse en tapant dans C1, =SUBSTITUE(A1;B1)


ms
malheuresement cela ne fonctione que si la serie se suit.

En esperant avoir été assez clair, je vous remercie par avance de vos
reponses








fido76
Le #17906131
Merci pour ta reponse SAM mais malheureusement j ai des series qui peuvent
parfois etre tres longue, par consequent ta proposition n'est malheuresemnt
pas adapté dans ton cas.

Merci quand meme

"Sam" 4925245f$0$960$

Bonjour,
si la série n'est pas trop longue tu pourrais écrire par exemple :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;GAUCHE(B1;2);"");STXT(B1;2;2);"");STXT(B1;4;2);"");STXT(B1;6;2);"")

Cordialement
Michel dit "Sam"
"fido76"
Bonjour à tous.

Après plusieurs jours de recherche, je me décide à faire appel a vos
connaissances.

Voila mon probleme, prenons trois cellules A1,B1,C1

Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...

Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la cellule
C1 m'affiche la difference soit 3-5-7-8.

Jai deja trouvé un début de reponse en tapant dans C1, =SUBSTITUE(A1;B1)
ms malheuresement cela ne fonctione que si la serie se suit.

En esperant avoir été assez clair, je vous remercie par avance de vos
reponses







Fredo P.
Le #17910001
J'ai commencé à m'y penché, je terminerai demain, (un ptit coup de fatigue)

"fido76" news:
Tout d'abord merci pour ta reponse
Cela fonctionne mais seulement si la serie s'arrete à 9
C'est a dire que dans le cas de nombres à 2 chiffre ( ex :10-14-16-22) si


je
rentre 10-16, cela me supprime tout les 1 donc je me retrouve avec une


serie
du type 0-4-6-2-2

Aurai tu une solution pour palier a ce problème
Je te remercie d'avance


"Fredo P."

news:

> Sub Lesmanques()
> Dim i
> [C1].ClearContents
> For i = 1 To Len([A1])
> If InStr([B1], Mid([A1], i, 1)) = 0 Then
> [C1] = [C1] & Mid([A1], i, 1) & "-"
> End If
> Next
> [C1]=left([C1],Len([C1])-1)
> End Sub
> "fido76" > news:
>> Bonjour à tous.
>>
>> Après plusieurs jours de recherche, je me décide à faire appel a vos
>> connaissances.
>>
>> Voila mon probleme, prenons trois cellules A1,B1,C1
>>
>> Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...
>>
>> Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la


cellule
> C1
>> m'affiche la difference soit 3-5-7-8.
>>
>> Jai deja trouvé un début de reponse en tapant dans C1,


=SUBSTITUE(A1;B1)
> ms
>> malheuresement cela ne fonctione que si la serie se suit.
>>
>> En esperant avoir été assez clair, je vous remercie par avance de vos
>> reponses
>>
>>
>
>




fido76
Le #17910081
Super

Merci de t'occuper de mon problème
<si tu trouves la solution tu me rendras un grand service car cela me ferai
gagner du temps dans mon boulot
merci d'avance


"Fredo P."
J'ai commencé à m'y penché, je terminerai demain, (un ptit coup de
fatigue)

"fido76" news:
Tout d'abord merci pour ta reponse
Cela fonctionne mais seulement si la serie s'arrete à 9
C'est a dire que dans le cas de nombres à 2 chiffre ( ex :10-14-16-22) si


je
rentre 10-16, cela me supprime tout les 1 donc je me retrouve avec une


serie
du type 0-4-6-2-2

Aurai tu une solution pour palier a ce problème
Je te remercie d'avance


"Fredo P."

news:

> Sub Lesmanques()
> Dim i
> [C1].ClearContents
> For i = 1 To Len([A1])
> If InStr([B1], Mid([A1], i, 1)) = 0 Then
> [C1] = [C1] & Mid([A1], i, 1) & "-"
> End If
> Next
> [C1]=left([C1],Len([C1])-1)
> End Sub
> "fido76" > news:
>> Bonjour à tous.
>>
>> Après plusieurs jours de recherche, je me décide à faire appel a vos
>> connaissances.
>>
>> Voila mon probleme, prenons trois cellules A1,B1,C1
>>
>> Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...
>>
>> Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la


cellule
> C1
>> m'affiche la difference soit 3-5-7-8.
>>
>> Jai deja trouvé un début de reponse en tapant dans C1,


=SUBSTITUE(A1;B1)
> ms
>> malheuresement cela ne fonctione que si la serie se suit.
>>
>> En esperant avoir été assez clair, je vous remercie par avance de vos
>> reponses
>>
>>
>
>








Fredo P.
Le #17916021
Valable pour des nombres à 2 chiffres
http://cjoint.com/?lvpbtf6yxU

Public Function Abscents(A$, B$)
Dim i, C$, cp$
For i = 1 To Len(A)
If IsNumeric(Mid(A, i, 1)) Then
If IsNumeric(Mid(A, i + 1, 1)) Then
cp = Mid(A, i, 2)
If InStr(B, cp) = 0 Then C = C & cp & "-"
i = i + 1
Else
If i = 1 Then
If InStr(B, Left(A, 1) & "-") = 0 Then C = C & Left(A,
1)
Else
If InStr(B, "-" & Mid(A, i, 1)) = 0 Then C = C & Mid(A, i,
1) & "-"
End If
End If
End If
Next
Abscents = Left(C, Len(C) - 1)
End Function

"fido76" news:
Tout d'abord merci pour ta reponse
Cela fonctionne mais seulement si la serie s'arrete à 9
C'est a dire que dans le cas de nombres à 2 chiffre ( ex :10-14-16-22) si


je
rentre 10-16, cela me supprime tout les 1 donc je me retrouve avec une


serie
du type 0-4-6-2-2

Aurai tu une solution pour palier a ce problème
Je te remercie d'avance


"Fredo P."

news:

> Sub Lesmanques()
> Dim i
> [C1].ClearContents
> For i = 1 To Len([A1])
> If InStr([B1], Mid([A1], i, 1)) = 0 Then
> [C1] = [C1] & Mid([A1], i, 1) & "-"
> End If
> Next
> [C1]=left([C1],Len([C1])-1)
> End Sub
> "fido76" > news:
>> Bonjour à tous.
>>
>> Après plusieurs jours de recherche, je me décide à faire appel a vos
>> connaissances.
>>
>> Voila mon probleme, prenons trois cellules A1,B1,C1
>>
>> Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...
>>
>> Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la


cellule
> C1
>> m'affiche la difference soit 3-5-7-8.
>>
>> Jai deja trouvé un début de reponse en tapant dans C1,


=SUBSTITUE(A1;B1)
> ms
>> malheuresement cela ne fonctione que si la serie se suit.
>>
>> En esperant avoir été assez clair, je vous remercie par avance de vos
>> reponses
>>
>>
>
>




fido76
Le #17919321
Impec merci beaucoup atous


"Fredo P." O$cTpI%

Valable pour des nombres à 2 chiffres
http://cjoint.com/?lvpbtf6yxU

Public Function Abscents(A$, B$)
Dim i, C$, cp$
For i = 1 To Len(A)
If IsNumeric(Mid(A, i, 1)) Then
If IsNumeric(Mid(A, i + 1, 1)) Then
cp = Mid(A, i, 2)
If InStr(B, cp) = 0 Then C = C & cp & "-"
i = i + 1
Else
If i = 1 Then
If InStr(B, Left(A, 1) & "-") = 0 Then C = C & Left(A,
1)
Else
If InStr(B, "-" & Mid(A, i, 1)) = 0 Then C = C & Mid(A, i,
1) & "-"
End If
End If
End If
Next
Abscents = Left(C, Len(C) - 1)
End Function

"fido76" news:
Tout d'abord merci pour ta reponse
Cela fonctionne mais seulement si la serie s'arrete à 9
C'est a dire que dans le cas de nombres à 2 chiffre ( ex :10-14-16-22) si


je
rentre 10-16, cela me supprime tout les 1 donc je me retrouve avec une


serie
du type 0-4-6-2-2

Aurai tu une solution pour palier a ce problème
Je te remercie d'avance


"Fredo P."

news:

> Sub Lesmanques()
> Dim i
> [C1].ClearContents
> For i = 1 To Len([A1])
> If InStr([B1], Mid([A1], i, 1)) = 0 Then
> [C1] = [C1] & Mid([A1], i, 1) & "-"
> End If
> Next
> [C1]=left([C1],Len([C1])-1)
> End Sub
> "fido76" > news:
>> Bonjour à tous.
>>
>> Après plusieurs jours de recherche, je me décide à faire appel a vos
>> connaissances.
>>
>> Voila mon probleme, prenons trois cellules A1,B1,C1
>>
>> Dans la cellule A1, j ai une serie de type 1-2-3-4-5-6-7-8-9 etc...
>>
>> Lorsque je tape dans B1, par exemple 1-2-4-6-9, j aimerai que la


cellule
> C1
>> m'affiche la difference soit 3-5-7-8.
>>
>> Jai deja trouvé un début de reponse en tapant dans C1,


=SUBSTITUE(A1;B1)
> ms
>> malheuresement cela ne fonctione que si la serie se suit.
>>
>> En esperant avoir été assez clair, je vous remercie par avance de vos
>> reponses
>>
>>
>
>








Publicité
Poster une réponse
Anonyme