Excel Macro récupération texte
Fermé
Malou
-
15 avril 2010 à 11:50
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 16 avril 2010 à 18:11
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 16 avril 2010 à 18:11
A voir également:
- Excel Macro récupération texte
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Convertisseur récupération de texte - Guide
- Si et excel - Guide
3 réponses
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
15 avril 2010 à 12:50
15 avril 2010 à 12:50
Bonjour,
Tu n'es pas obligé d'utiliser une macro pour ça, en E5, tu inscris :
Mais si tu préfères une macro, c'est possible, redis le moi.
Tu n'es pas obligé d'utiliser une macro pour ça, en E5, tu inscris :
=GAUCHE([Classeur1.xls]Feuil1!$A$5;3)&GAUCHE([Classeur1.xls]Feuil1!$B$5;3)&GAUCHE([Classeur1.xls]Feuil1!$C$5;3)
Mais si tu préfères une macro, c'est possible, redis le moi.
dct33
Messages postés
41
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
39
15 avril 2010 à 18:38
15 avril 2010 à 18:38
Bonsoir ,
'récupération de données de la colonne1 que je mets dans la colonne 3
'J'ai mis ma première donnée ligne 2 la suivante ligne 3 etc
' avec la fonction mid je récupère les trois premier' caractères
X = 2
While Cells(X, 1) <> ""
Cells(X, 3) = Mid(Cells(X, 1), 1, 3)
X = X + 1
Wend
Bonne programmation
'récupération de données de la colonne1 que je mets dans la colonne 3
'J'ai mis ma première donnée ligne 2 la suivante ligne 3 etc
' avec la fonction mid je récupère les trois premier' caractères
X = 2
While Cells(X, 1) <> ""
Cells(X, 3) = Mid(Cells(X, 1), 1, 3)
X = X + 1
Wend
Bonne programmation
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
15 avril 2010 à 20:39
15 avril 2010 à 20:39
Bonsoir dct33,
Juste pour info, lorsque tu veux extraire la partie droite ou gauche d'une chaîne de caractères, tu peux utiliser les fonctions Right ou Left.
Dans ton exemple, ça donnerait :
Juste pour info, lorsque tu veux extraire la partie droite ou gauche d'une chaîne de caractères, tu peux utiliser les fonctions Right ou Left.
Dans ton exemple, ça donnerait :
Cells(X, 3) = Left(Cells(X, 1), 3)
Merci Beaucoup Gord21 c'est exactement ce que je voulais !
dct33 je n'ai pas encore essayer ce que tu m'as indiquer mais je n'y manquerai pas
Merci à tous !
dct33 je n'ai pas encore essayer ce que tu m'as indiquer mais je n'y manquerai pas
Merci à tous !
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
15 avril 2010 à 20:40
15 avril 2010 à 20:40
N'hésite pas demander si tu as des soucis pour adapter à ton cas.
je profite de ce que tu as dis juste au dessus pour te reposer une question
j'ai adapter le code a mon cas
mais qu'en je lance la macro
apparrement il l'exécute (le petit cercle de chargement sur vista tourne)
mais une fois le chargement fini je n'ai aucun résultat afficher
j'ai bien vérifier les chemin d'accés etc
mais rien n'y fait
et comment écrire le code de valeurs si j'ai besoin de tous les caractères d'une cellule
Merci d'avance
j'ai adapter le code a mon cas
mais qu'en je lance la macro
apparrement il l'exécute (le petit cercle de chargement sur vista tourne)
mais une fois le chargement fini je n'ai aucun résultat afficher
j'ai bien vérifier les chemin d'accés etc
mais rien n'y fait
et comment écrire le code de valeurs si j'ai besoin de tous les caractères d'une cellule
Merci d'avance
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
16 avril 2010 à 13:40
16 avril 2010 à 13:40
Bonjour,
Difficile de répondre comme ça. Est-ce que tu pourrais m'envoyer le fichier résultat et le fichier source (avec le code des macros) que je puisse regarder ce qui se passe.
@+
Difficile de répondre comme ça. Est-ce que tu pourrais m'envoyer le fichier résultat et le fichier source (avec le code des macros) que je puisse regarder ce qui se passe.
@+
Ce sont des données confidentiels je ne peux te les envoyer, désolé
j'ai dé-fusionner les cellules , j'ai essayé avec ta macro et non la mienne , mais rien.
je continu ma recherche de bugs pour essayer de détailler le problème
voici le lien de la macro une fois modifié (à part la destination et le nom des fichiers , question de confidentialités)
http://www.cijoint.fr/cjlink.php?file=cj201004/cijkeZwMeI.xls
j'ai dé-fusionner les cellules , j'ai essayé avec ta macro et non la mienne , mais rien.
je continu ma recherche de bugs pour essayer de détailler le problème
voici le lien de la macro une fois modifié (à part la destination et le nom des fichiers , question de confidentialités)
http://www.cijoint.fr/cjlink.php?file=cj201004/cijkeZwMeI.xls
15 avril 2010 à 13:40
mais dans ce que tu écris , tu fais une formule pour écrire les 3 premiers caractères des Cellules A5,B5 et C5 dans la cellule E5
je vois que ma demande n'était pas assez bien formé
je souhaiterai obtenir les 3er caractères des colonnes A B C du classeur1 en sachant que ces 3 colonnes commence à la ligne 1 et la ligne de fin change suivant les données importé (importé d'un .txt en largeur fixe le tout définie dans une macro)
et transposer les caractères de chaque dans la colonne E du classeur2 mais la cellule E5 comporterait les caractères de A1+B1+C1 etc...
jusqu'à E10005 par exemple si les A B C comporte 10000 lignes
j'espère avoir bien précisé ma demande
Merci d'avance pour vos réponses
Modifié par Gord21 le 15/04/2010 à 18:00
Si tu as dans ton classeur source :
en E5, tu veux récupérer : udtqcsshn
C'est bien ça ?
Modifié par Malou le 15/04/2010 à 18:26
A B C
Ligne 1 marche arrêt défaut
Ligne 2 bouf miam manger
récupérer : en E5 : mararrdef
en E6 : boumiaman
etc...
et ceux jusqu'à ce qu'il détecte une ligne vide en dans le classeur 1
En gros , sous macro ça serait
une boucle "Do while...loop" qui fait l'action jusqu'à ce qu'il détecte une cellule vide
et l'action serait une formule excel "=concatener(gauche(...;3)&gauche(...;3)&gauche(...;3))
mais je ne connais pas les codes VB pour ça , et j'ai beau cherché sur les forums , je ne trouve que des réponses partiels , et je n'arrive pas à réunir les bon éléments pour faire ce que je veux
j'espère que ça répond à ta question
15 avril 2010 à 19:01
Voici la macro. Pense à modifier le nom du classeur source.
http://www.cijoint.fr/cjlink.php?file=cj201004/cij6Cm7Xi5.xls
@+