Fonction lourde ...

Guigui

XLDnaute Occasionnel
Bien le bonsoir le forum,

J'ai "construit" une formule pour arranger des données dans une cellule, mais celle ci me semble bien lourde (ou sale ! )

Quelqu'un peut il jeter un oeil et voir si une autre approche existe ?
plus pro .. plus propre .. plus light ;)

Merci par avance
Guillaume
 

Pièces jointes

  • Exemple tag.xls
    36 KB · Affichages: 93

Paski

XLDnaute Nouveau
Re : Fonction lourde ...

Bonjour,

A mon très humble avis, je ne vois pas d'autre approche plus simple ou plus light...

Tu as beaucoup de cas différents, beaucoup de retraitement de chaînes de caractères, ce qui fait toujours plus ou moins des formules à rallonges...

D'autres trouveront peut-être mieux ! :)
 

Tibo

XLDnaute Barbatruc
Re : Fonction lourde ...

Bonjour,

La présentation que tu as faite est-elle celle que tu souhaites ?

Ou bien préfères-tu en une seule colonne ?

Sinon, combien de bagages peut-il y avoir au maximum ?

Il ne faut pas se voiler la face, une solution formule ne sera pas "légère".

Je regarde ce soir.

A te (re)lire auparavant avec quelques précisions.

@+
 

kjin

XLDnaute Barbatruc
Re : Fonction lourde ...

Bonjour,
Quelle compagnie ?!
Ca reste tordu, mais bon
Code:
Function BAG(s As String)
c = Split(s, "/")
For i = 0 To UBound(c)
    If Not IsNumeric(c(i)) Then
        txt = txt & c(i) & " "
        On Error Resume Next
        pre1 = Left(c(i), 2)
        pre2 = Left(c(i), 6)
        On Error GoTo 0
    Else
        Select Case Len(c(i))
            Case 2
                Select Case Len(c(i - 1))
                    Case 6
                    txt = txt & pre1 & Left(c(i - 1), 4) & c(i) & " "
                    Case Else
                    txt = txt & pre2 & c(i) & " "
                End Select
            Case 3
            txt = txt & pre1 & c(i) & "xxx" & " "
            Case 6
            txt = txt & pre1 & c(i) & " "
        End Select
    End If
Next
BAG = txt

End Function
En D4
Code:
=BAG(A4)
A+
kjin
 
Dernière édition:

Guigui

XLDnaute Occasionnel
Re : Fonction lourde ...

re,

regarde la présentation final dans la PJ.
Sachant que les colonnes B et H à V sont cachés ...

Le but final : saisir un numéro de bagage et qu'il soit "barré" dans la liste.

le nombre de bagage affiché dans la colonne A est limité mais varie si l'on a des numéros entiers ou courts ...
A savoir que le nombre total de caractère affiche dans la colonne A (copié collé d'un autre système) est 76.

Et dans la même colonne (format diffèrent) le nombre max de caractère est 24
(entre le 1er chiffre avant le code Cie et le dernier chiffre du numéro de bagage)
ex: 2XH 130461/58/39/40/41 (max 24 caractère)
 

Pièces jointes

  • exemple tag2.zip
    16.2 KB · Affichages: 33

Guigui

XLDnaute Occasionnel
Re : Fonction lourde ...

Re,

Croisé le msg de kjin ...

C magic ça !! ;) Merci !! j'essaie de traduire mais c'est pas gagné ! ;)

J'en rajoute une couche alors :)

Un cas comme celui ci peut se presenter :
ligne 1 : XH130461/58/39/40/41
ligne 2 : 42/43

42/43 n'ayant pas de place aprés la chaine XH130461/58/39/40/41 le systeme d'ou je puise ces informations place la suite en dessous.
les bagages 42/43 sont sous entendu XH130442 XH130443 .. ;)

Vois tu une adaptation possible ?

Merci encore :)
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 961
Membres
103 686
dernier inscrit
maykrem