SuppotDeSaTante Aka dje69r | Il faut surtout regarder la chaine "AP=" et non pas seulement "AP" car si "AP" est présent dans un nom de famille (par ex) ca va tout foutre en l'air.
Donc, je pars du principe qu'en A1 tu as :
13/01/2010 - Temps passé : 6,00 h - (PAILLISSON Alain AP=1,00;PAILLISSON Alain AP=2,50;BACIGALUPI THIERRY TB=2,50) –
Je t'ai créé deux fonctions. Une dans laquelle tu ne specifies que la chaine, il te calcule le truc avec "AP"
L'autre ou tu peux parametrer le nombre d'occurence max rencontrées possibles (combien de fois peut contenir "AP" par ex) et ce que tu cherches (ici on cherche AP mais on pourrait chercher TB)
Code :
- Function ofouquay_ParamChaineOnly(Chaine)
- 'Nb de presence max, si le nb d'occurence passe par ex à 3, changer en consequence
- PMax = 2
- 'On precise ce qu'on cherche, j'ai vu que tu avais aussi "TB"
- Sch = "AP="
- i = 1
- For x = 1 To PMax
- a = InStr(i, Chaine, Sch)
- If a <> 0 Then
- a = a + Len(Sch)
- Do While Mid(Chaine, a, 1) <> Chr(41) And Mid(Chaine, a, 1) <> Chr(59)
- Calc = Calc & Mid(Chaine, a, 1)
- a = a + 1
- Loop
- Calc1 = Calc1 + CDbl(Calc)
- Calc = ""
- i = a
- End If
- Next x
- ofouquay_ParamChaineOnly = Calc1
- End Function
- '________________________________________________
- Function ofouquay_Param(Chaine, PMax, Sch)
- i = 1
- For x = 1 To PMax
- a = InStr(i, Chaine, Sch)
- If a <> 0 Then
- a = a + Len(Sch)
- Do While Mid(Chaine, a, 1) <> Chr(41) And Mid(Chaine, a, 1) <> Chr(59)
- Calc = Calc & Mid(Chaine, a, 1)
- a = a + 1
- Loop
- Calc1 = Calc1 + CDbl(Calc)
- Calc = ""
- i = a
- End If
- Next x
- ofouquay_Param = Calc1
- End Function
|
Donc si en A2 on saisi :
=ofouquay_ParamChaineOnly(A1)
il nous renvoi bien 3.5, et avec cette formule on ne passe en parametre que la chaine. Il prend forcément 2 en valeur max d'occurence, et la chaine a chercher est forcement "AP="
En A3 on saisi :
=ofouquay_Param(A1;2;"AP=" )
Il renvoi aussi 3.5, mais la on lui precise que le nb d'occurence c'est 2 (ce qui veut dire que tu pourrais mettre 10, il te ferait le calcul pour 10 fois rencontré "AP=" ) et on precise la chaine a chercher (ici "AP=" )
Maintenant si en A4 on saisi :
=ofouquay_Param(A1;2;"TB=" )
Il nous renvoi 2.5
Cordialement Message édité par SuppotDeSaTante le 29-07-2010 à 13:42:16 ---------------
Soyez malin, louez entre voisins !
|