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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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