Fonction len

Bonjour,

Dans un tableau certaines colonnes contiennent un nom de ville et un N° minéralogique entre parenthèses :

A2 -> Ville (64)

A3 -> Village (35)

Left(Ville (64), Len(Ville (64)) - 4)

me permet bien d'obtenir

B2 -> Ville

et

Left(Right(Ville (64), 3), 2)

me rend bien

C2 -> 64

Tout se gâte si le nom de la ville comporte des traits d'union.

ex:

A4 -> Village-en-Mer (12)

Left(Village-en-Mer (12), Len(Village-en-Mer (12)) - 4)

renvoie : Vill

C'est à dire que la fonction len arrête le comptage dès le premier "-" et ma fonction applique

Left(Village-en-Mer (12), Len(Village-en-Mer (12)) - 4)

Comme s'il y avait en A4

Left(Village- (12), Len(Village- (12)) - 4)

Comment forcer len à compter tous les caractères de la cellule A4 ?

Je ne trouve aucune explication en ligne.

Merci

Bonsoir,

Merci de joindre ton fichier avec les formules.

Bonjour,

Voici le fichier incluant la macro commentée ligne par ligne.

Avec signalement des 2 lignes incriminées.

Merci


Apparemment le fichier joint n'est pas passé.

90conil26.zip (29.21 Ko)

Bonsoir,

Une usine à gaz, c'est bien pour terminer le week-end. On a presque envie d'aller travailler

Cdlt.

Bonsoir,

Il serait peut-être plus malin d'utiliser l'équivalent de

=extraireelement(Village-sur-Mer (12);1;"(")

Mais bien entendu j'ignore comment ça se code en VBA.

Merci

Salut le forum

Déjà en remplaçant

WsResu.Range("I" & Ligne) = Left(WsOrig.Range("AE" & J), Len(WsOrig.Range("M" & J)) - 4)

Par

WsResu.Range("I" & Ligne) = Left(WsOrig.Range("AE" & J), Len(WsOrig.Range("AE" & J)) - 4)

Il faut prendre la même cellule pour calculer la longueur (Fonction LEN)

Tu aurais pu utiliser la fonction SPLIT

WsResu.Range("H" & Ligne) = Trim(Split(WsOrig.Range("M" & J), "(")(0))
WsResu.Range("I" & Ligne) = Trim(Split(WsOrig.Range("AE" & J), "(")(0))

Mytå

Super,

ça fonctionne très bien avec Split

Merci

Rechercher des sujets similaires à "fonction len"