Correspondances pour faire des comparaisons

G

gab

Guest
Bonjour,

Dans le fichier suivant, j'ai un problème à élucider... j'ai passé mon weekend à chercher et je n'arrive à aucune solution.
Mon principal souci est de faire correspondre des données par rapport à des données de référence contenant des astérisques....

Enfin, jetez un oeil au fichier vous comprendrez mieux....

Merci pour toute aide à ce sujet....
[file name=Book1_20051024095338.zip size=3979]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Book1_20051024095338.zip[/file]
 

Pièces jointes

  • Book1_20051024095338.zip
    3.9 KB · Affichages: 7
J

JJ59

Guest
Bonjour Gab, le Forum


Voici une petite formule qui te permet de récupèrer les références.

='*'&GAUCHE(F11;NBCAR(F11)-6)&'*'

Il ne reste plus que tes tests à formuler.
si tu as un souci n'hésites pas à revenir.

Bonne journée


JJ59
 
J

JJ59

Guest
Re

Oui j'ai vu çà.
Ily a aussi *N664e*
La question est :
*N4664e*, N4664ex* et *N4664ext* sont
3 references diffèrentes et dans ce cas la formule est correcte,
il faut les créées dans ton tableau
la même référence est dans ce cas il faut en choisir une seule et là aussi la formule est correcte.

Tiens moi au courant.

Merci d'avance

JJ59
 
G

gab

Guest
OK, mais je crois que nous nous égarons dans cette direction (je dis cela car j'ai planché déjà sur cette façon de faire...). Malheureusement, les données indiquées entre les astérisques en colonne A peuvent se retrouver à n'importe quelle place dans les cellules de la colonne F. On pourrait par exemple retrouver ceci en F : 'RTERN6644e opt 1' !!

(dans ce cas, cela devra prendre en compte la valeur qu'il y a en A4)

Je pense qu'il faut faire une recherche des valeurs contenues entre les astérisques en colonne A dans les données en colonne F... une sorte de rechercheV, mais je sais pas comment faire ça..... c
 

SergiO

XLDnaute Accro
Salut,

J'ai une solution par une macro MS Excel 4.0 car je commence à peine à me mettre au VBA.

A+ [file name=Book1V1.zip size=4221]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Book1V1.zip[/file]
 

Pièces jointes

  • Book1V1.zip
    4.1 KB · Affichages: 17

soft

XLDnaute Occasionnel
Salut le Fil,
J'étais dessus en même temps que SergiO...
Je donnes aussi ma sol puisqu'elle est prête.


Créer une fonction personnalisée :

Function Ecart(strCode As String, Result As Long) As String
Dim I As Integer, TestCode As String, ValeurRef As Long
ValeurRef = 0
For I = 2 To 9
TestCode = Mid(Range('A' & I).Value, 2, Len(Range('A' & I).Value) - 2)
If Left(strCode, Len(TestCode)) = TestCode Then
ValeurRef = Range('B' & I).Value
Exit For
End If
Next I
If ValeurRef > 0 Then
Select Case Result
Case Is < ValeurRef - (ValeurRef * 0.05): Ecart = 'Inférieur'
Case Is > ValeurRef + (ValeurRef * 0.05): Ecart = 'Supérieur'
Case Else: Ecart = 'OK'
End Select
Else
Ecart = 'Réf. non trouvée'
End If
End Function

Voir aussi le fichier modifié annexé. [file name=Book1_20051024122413.zip size=8277]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Book1_20051024122413.zip[/file]
 

Pièces jointes

  • Book1_20051024122413.zip
    8.1 KB · Affichages: 13
G

gab

Guest
Une chose cependant.... parfois les caratères de la colonne A peuvent se retrouver en pleine mileu d'une chaîne de caractères de la colonne F .
exemple on peut retrouver cette donnée : ZZZPP3n opt 1, qui sera à prendre en compte puisque 'PP3' se retrouve dedans.

Actuellement, la fonction personnalisée de SOFT ne prend en compte que les données se trouvant à gauche......

si quelqu'un sait......
 

soft

XLDnaute Occasionnel
Bonjour le Fil,
Gab, là tu compliques un brin ... mais je pense qu'en changeant la 6e ligne :

If Left(strCode, Len(TestCode)) = TestCode Then

par

If InStr(strCode, TestCode) <> 0 Then

Ca devrait le faire ...

Message édité par: soft, à: 25/10/2005 11:23
 

soft

XLDnaute Occasionnel
Plutôt guitariste....
C'est un peu comme Excel, un amour de jeunesse qui revient à l'approche de la quarantaine.
J'ai débuté avec Excel 2.0 (sous DOS !), puis fait plus de programmation sur d'autres langages (mais surtout en VB pur) pour pouvoir travailler de plus gros projets avec des bases Oracle.
Et puis, on retombe sur des petites choses faites dans le passé et on se dit que c'était pas mal du tout et ça donne envie de s'y remettre. Tout comme pour des 'Sultan of Swing' et autres.

Tiens.. moi qui me disais que je devais peut-être mettre un post pour me présenter dans le forum mais ne savait pas quoi mettre !

Message édité par: soft, à: 25/10/2005 11:51
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 523
dernier inscrit
mounir2025