extraire certaines donnée dans une cellule

B

BENOTAF

Guest
bonjour a tous
je sui un gros debutant sur excel,
je voudrai pouvoir extraire des donnée se presentant comme cela dans une cellule(120*45*46) et les renvoyer chacune dans une autre cellule de la ligne séparément.
merciii d'avance
ben
 

excalibur

XLDnaute Impliqué
bonjour BENOTAF le forum tu peus essayer par convertir ... donnees puis convertir puis delimite suivant autre tape * suivant terminer autrement par fonction si super andre passe par la que je salue au passage il va s occuper de resoudre ton pb..salutations
 

porcinet82

XLDnaute Barbatruc
Salut ben,

une petite macro (a placer dans un module De Visual Basic Editor en faisant Alt+F11) qui fait egalement ce que tu veux, meme si la methode d'excalibur est plus pratique.

Code:
Sub test()
For i = 1 To Range('A65536').End(xlUp).Row
    Cells(i, 2).Value = Left(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, '*') - 1)
    Cells(i, 3).Value = mid(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, '*') + 1, InStr(1, Cells(i, 1).Value, '*') - 2)
    Cells(i, 4).Value = Right(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, '*') - 2)
Next i
End Sub

@+
 
B

benotaf

Guest
je met le fichier en piece jointe pour que cela soit plus comprehensible: je voudrai extraire les données de la cellule c1 etles metre separémen dans g1, h1 i1.
je vous precise que je n'ai aucune connaissance et donc il faudrai que la formule soit 'prete a l'emploi'. :sick:
désolé d'etre aussi exigent et merci d'avance au pro qui von m'aider a bosser plus facilement
merci
ben
 

porcinet82

XLDnaute Barbatruc
re,

toujous pas de fichier en vue, pour rappel il doit etre zippé, <50ko, sans espace, ni accent ni caracteres spéciaux, tu peux également allé voir a l'adresse suivante Lien supprimé

Pour la macro que je t'ai proposée, elle devrait fonctionner maintenant :

Code:
Sub test()
Range('C1').Select
For i = 1 To Range('C65536').End(xlUp).Row
    Cells(i, 7).Value = Left(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, '*') - 1)
    Cells(i, 8).Value = mid(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, '*') + 1, InStr(1, Cells(i, 1).Value, '*') - 2)
    Cells(i, 9).Value = Right(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, '*') - 2)
Next i
End Sub

Pour l'utiliser, va dans Outils\\Macro\\Visual Basic Editor (ou appuis sur Alt+F11), puis a gauche, dans VBAProject \\Microsoft Excel Objets, double clique sur feuil1 et colle la macro.
Ensuite pour la lancé, c'est tout simple, tu cliques sur l'icone lecture (en dessous du menu Format)

j'espere avoir été clair.

@+
 
B

benotaf

Guest
voila le fichier excel
d'avance merci
ben [file name=Classeur4_20051028154256.zip size=1610]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur4_20051028154256.zip[/file]
 

Pièces jointes

  • Classeur4_20051028154256.zip
    1.6 KB · Affichages: 36

andré

XLDnaute Barbatruc
Salut,

Mais ce n'est pas une formule, c'est simplement un menu.

Voici comment procéder (en détail !)

Sélectionner la plage C:C7 et la copier / coller en G1:G7 (ou autre part)
G1:G7 étant sélectionné : Menu Données / Convertir
Une fenêtre s'ouvre, ne pas y toucher mais taper sur Suivant.
Dans cette fenêtre , cliquer sur Autres et taper * dans la petite case / Suivant / Terminer.

J'espère que j'ai été explicite.
Si cela ne va pas, dis-moi excatement où.

Â+
 

Discussions similaires

Réponses
7
Affichages
425

Statistiques des forums

Discussions
312 843
Messages
2 092 750
Membres
105 520
dernier inscrit
Inconnuto