Extraction d'une chaine de Nbre ou chiffres séparés par des signes | ||
---|---|---|
Inscription: 25/09/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 28-07-2012 01h18
Bonjour Le Forum,
Mon souhait serait d'extraire d'une chaine, formée de nombre ou de chiffres séparés par des points ou des tirets etc... et de les coller dans des cellules séparées ( voir exemple dans P.J) Je galère grave depuis un certain temps ! Merci d'avance. Turfman. |
|
|
Re: Extraction d'une chaine de Nbre ou chiffres séparés par des signes | ||
---|---|---|
Inscription: 09/05/2007
De Courcelles-les-Montbéliard
Messages:
286
Système d'exploitation: PC & Mac Version Excel utilisée: Mac 2004 - 2011, et PC 2003 - 2010 |
Posté le : 28-07-2012 08h37
Bonjour turfman, Didier, le forum
Tu as plusieurs possibilités pour résoudre ton problème : - en premier, l'utilisation de l'assistant "convertir", qui permet de résoudre ton petit problème - en formule, - en macro Le convertisseur, Excel dispose d'un outil qui permet de séparer dans les colonnes adjacentes (vers la droite), les données de la cellule suivant un ou des séparateurs. Attention, les colonnes adjacentes doivent être vides, si non les données seront écrasées. Avant de voir la boîte de dialogue de l'assistant, il est préférable de n'avoir qu'un type de séparateur, toi tu en as 4, le "-", "." , "/" ,et le " ". J'ai décidé de garder " " comme séparateur, il faut donc remplacer les séparateurs 1) sélectionne la plage de tes données 2) fait un édition/remplacer... du "." par " " et valide la boîte de dialogue Procède de la même manière pour "-", le "/" Je ne peux te dire ou se trouve le bouton de cet assistant dans ta version, étant sous mac, sous mac on le trouve dans le menu données. 1) Sélectionne des données 2) clique sur le bouton de l'assistant 3) dans la boîte de dialogue qui s'affiche, clique sur Délimité et suivant 4) dans la deuxième étape, on définit le ou les séparateurs que l'on a, ici tu peux laisser la "tabulation" et coche l'espace. Avant de valider coche aussi le champ "interpréter des séparateurs identiques consécutifs comme uniques", cela va évite d'avoir à supprimer deux colonnes. 5) clique sur le bouton Fin En formule, la solution que je te propose ne fonctionnera pas si le nombre de caractères tes données à convertir est supérieur à 2. Insère une colonne avant la B, pour faire la même chose que l'édition/remplacer. Pour remplacer un caractère dans une chaîne texte, j'ai l'habitude d'utiliser la fonction SUBSTITUE, ce qui donnerait cette formule Mais dans tes données tu as un séparateurs " / " qui est composé de trois caractères en fait, et bien on va remplacer ce " / " par le " " . Pour la petite histoire on aurait peut le faire aussi avec l'assitant, mais je n'aurai peut parler de l'option du séparateur consécutif =SUBSTITUE(SUBSTITUE(A5;".";" ");" / ";" ") Passons à la séparation des données. Dans la cellule C5, écrit cette formule =SUPPRESPACE(STXT(B5;1;2))*1 la fonction SUPPRESPACE supprime les caractères " " inutiles, ceux qui sont placés en premier, a la fin, et contigus dans l'extrait. Dans notre cas ce sont ceux en fin d'extrait qui seront supprimés. Le *1 permet de passer d'une valeur texte à une valeur numérique. Voilà pour le premier champ, mais cela va se compliquer en D5, écrit cette formule =SUPPRESPACE(STXT($B5;NBCAR(C5)+COLONNE(B1);2))*1 La fonction COLONNE retourne le numéro de la colonne de la cellule de l'argument 1 Voilà pour le deuxième champ. Si tu le veux tu peux commencer à faire un glisser vers le bas pour voir le comportement des trois formules. On va vers un problème.... Si tu fais un glisser vers la droite de la cellule, les formules vont te retourner des valeurs incohérentes. Cela vient qu'il faut que cumuler les caractères des cellules précédentes pour : - E5, il faut prend les caractères en C5 et D5, - I5, les caractères de la plage C5:H5 en fait un SOMME(NBCAR($C5:.5)) C'est possible mais la fonction NBCAR sur une plage de cellules, ne retourne que le nombre de caractères de la première cellule et pas les autres. Sauf qu'il y a pour nous dans Excel les formules matricielles, ont les valides par les touches Ctrl+Shift+Entrer, c'est une combinaison de touches (pas une séquence de touches) La formule en E5 s'écriera ainsi =SUPPRESPACE(STXT($B5;SOMME(NBCAR($C5:D5))+COLONNE(C1);2))*1 Voilà pour ce qui est des formules. Je le répète les valeurs retournées dépendent de la structures de ton tableau, deux caractères maxi Pour la macro, tu as tout pour la réaliser. @+Jean-Marie |
|
|
Re: Extraction d'une chaine de Nbre ou chiffres séparés par des signes | ||
---|---|---|
Inscription: 25/09/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 28-07-2012 18h25
Bonjour Jean-Marie, Didier, Le Forum, Jean-Marie; je te remercie infiniment une nouvelle fois, pour avoir pris sur ton temps pour me fournir une réponse "éclair", et comme d'habitude accompagnée d'explications claires. Tu es incollable, bravo, c'est nickel ,et ça me convient parfaitement. Turfman.
|
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
Qui consulte actuellement ce sujet ?
1 Utilisateur(s) anonymes