Traiter un n° de téléphone avec critère

Salut le forum

Je saisi dans une cellule (B28) des contacts téléphoniques de nos clients.

Lorsque la personne a plusieurs numéro, je sépare les numeros par une barre.

Ex : 66789078/7890097654/223456789098

Dans mon retraitement, je dois afficher chaque numero par cellule

Ex dans C10 on aura 66789078 (c'est à dire le 1er numero)

C11 on aura 7890097654 (c'est à dire le 2è)

C12 on aura 223456789098 (c'est à dire le 3è)

NB:j'ai pri un cas ou le client a 3 numeros(maximum). il peut avoir 1 seul ou 2 numeros.

Comment faire pour pouvoir afficher les numeros séparemment dans les cellules correspondantes?

bonsoir zombe le forum,

voilà, maintenant sauras tu l'adapter à ton fichier?? , si oui c'est parfait, si non, alors tu mettras le fichier en pièce jointe et on te répondra.

a+

Papou

dim x
  x=split(feuil1.cells(1,2),"/")
      for i=0 to ubound(x)
           feuil1.cells(1,2+x+1)=x(i)
       next i

Salut Yvouille

Merci pour ta solution.

Est-il possible de pouvoir le faire par simple formule.

Ca m'arrangerai plus que par code macro.

Salut,

Une solution avec formule issue de VBA ca te vas ?

Je ne sais pas faire en formule, surtout s'il y a possibilité d'avoir x numéros de tel dans la chaine. Papou ?

(cela fait pas mal de temps que je cherche une formule qu fait le split comme en VBA)

A copier dans un module:

Function monsplit(cellule As Range, separateur As String, occurence As Long) As String
On Error GoTo myerror
    monsplit = Trim(Split(cellule.Value, separateur)(occurence))
Exit Function
myerror:
monsplit = ""
End Function

cf fichier attaché pour utilisation via appel de la formule.

Damien

14splifunct.zip (6.26 Ko)

bonjour

je n'apporte pas de solution ;

il y a qquelque temps j'avais fourni une solution ( aune autre question) ;mais le probleme etait le meme

j'avais utilisé SUBSTUTUE 2 fois dans la memeformule le principe etait de remplacer un espace par un i et grace a l'incrementation du n°de position ,on arrivait avec CHERCHE a extraire le tronçon desiré ;

je n'arrive plus a reproduire ce procedé ; pourtant ce n'est pas faute de.......

alors a defaut d'aider notre ami ; ça me rafraichira la memoire

merci d'avance

cordialement

Bonjour

Par formules avec, selon l'énoncé 3 Nos maxi)

Formule en C10

=SI(NBCAR(B28)-NBCAR(SUBSTITUE(B28;"/";""))=0;B28;STXT(B28;1;CHERCHE("/";$B$28)-1))

Formule en C11

=SI(NBCAR(B28)-NBCAR(SUBSTITUE(B28;"/";""))=0;"";SI(NBCAR(B28)-NBCAR(SUBSTITUE(B28;"/";""))=1;SUBSTITUE(B28;C10&"/";"");SI(NBCAR(B28)-NBCAR(SUBSTITUE(B28;"/";""))=2;STXT(SUBSTITUE(B28;C10&"/";"");1;CHERCHE("/";SUBSTITUE(B28;C10&"/";""))-1))))

Formule en C12

=SI(NBCAR(B28)-NBCAR(SUBSTITUE(B28;"/";""))<2;"";SUBSTITUE(B28;C10&"/"&C11&"/";""))

Cordialement

14classeur1.xls (15.00 Ko)

Salut à tous les intervenants

D'abord permettez que je vous souhaite à tous bonne fête de l'assomption.

Que la mère qu seigneur (notre mère) vous portes toujours et en tout temps dans ses prières afin que la source de vos inspirations ne tarisse point.

Merci à Bigdams pour sa solution par macro. je souhaitais une solution par formule mais on ne sait jamais je pourrai en être dans le besoin un jour. J'ai pas pu l'exécuter pour faire mes tests malgrés votre conseil. Une fois coller dans le module, comment pouvoir l'appeler par formule. j'ai l'impression que ce code ne s'utilise pas comme les autres.

Tulipe: merci pour ta mémoire. c'est vrai que tu m'avais scotcher dans une solution semblable dont je m'en suis pas rappeler.

J'ai scindé la formule que tu m'avais envoyée donc comme j'avais pas la totalité de la formule j'ai pas pu faire le lien.

C'est pas un plaisir de vous deranger si je peux retrouver la solution par moi-même.

Vous auriez pu me mettre le lien en question pour que je le sache.

Amadéus : merci pour ta solution magique.

Elle fonctionne à merveil.

Encore merci à tous pour vos multiples aides.

Rechercher des sujets similaires à "traiter telephone critere"