Macro Excel retour à la ligne
Fermé
Slarche
-
28 juil. 2009 à 09:58
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 31 juil. 2009 à 19:24
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 31 juil. 2009 à 19:24
A voir également:
- Macro Excel retour à la ligne
- Aller à la ligne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Si et excel - Guide
8 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
29 juil. 2009 à 00:03
29 juil. 2009 à 00:03
Bonsoir,
Sélectionne ta cellule destination et colle ton texte dans la zone d'édition des formules (pas besoin de passer par wordpad).
Déjà tout ton texte sera dans la même cellule, avec les même retour à la ligne que ton copier.
Si tu dois toujours éliminer les retours à la ligne, avec ton texte en A1, en B1 tu mets :
=SUBSTITUE(A1;CAR(10);" ")
Pour remettre un retour à la ligne :
=SUBSTITUE(A1;" |interne| ";" |interne| "&CAR(10))
à recopier vers le bas si besoin
Tu peux imbriquer les 3 formules pour n'en faire qu'une.
et tu finis par un copier/collage spécial valeur sur la colonne B.
eric
Sélectionne ta cellule destination et colle ton texte dans la zone d'édition des formules (pas besoin de passer par wordpad).
Déjà tout ton texte sera dans la même cellule, avec les même retour à la ligne que ton copier.
Si tu dois toujours éliminer les retours à la ligne, avec ton texte en A1, en B1 tu mets :
=SUBSTITUE(A1;CAR(10);" ")
Pour remettre un retour à la ligne :
=SUBSTITUE(A1;" |interne| ";" |interne| "&CAR(10))
à recopier vers le bas si besoin
Tu peux imbriquer les 3 formules pour n'en faire qu'une.
et tu finis par un copier/collage spécial valeur sur la colonne B.
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
29 juil. 2009 à 16:59
29 juil. 2009 à 16:59
Re,
lors des retours à la ligne un espace ce créer avant le 1er mot de chaque ligne. Y a t-il un moyen d’éviter cela
Je pense qu'il ne se crée pas mais qu'il est existant. Ta chaine de fin de ligne doit être "|Interne| " (avec un espace) et non "|Interne|"
La compil' :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;CAR(10);" ");"|Interne| ";"|Interne| "&CAR(10));"|Externe| ";"|Externe| "&CAR(10))
eric
lors des retours à la ligne un espace ce créer avant le 1er mot de chaque ligne. Y a t-il un moyen d’éviter cela
Je pense qu'il ne se crée pas mais qu'il est existant. Ta chaine de fin de ligne doit être "|Interne| " (avec un espace) et non "|Interne|"
La compil' :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;CAR(10);" ");"|Interne| ";"|Interne| "&CAR(10));"|Externe| ";"|Externe| "&CAR(10))
eric
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
28 juil. 2009 à 23:16
28 juil. 2009 à 23:16
Bonjour,
Mettre votre exemple Excel sur https://www.cjoint.com/ et poster le lien.
L'exemple comprendra, la copie du contenue du texte sur Excel tel qu’il se présente et en-dessous se que vous voulez obtenir.
Mettre votre exemple Excel sur https://www.cjoint.com/ et poster le lien.
L'exemple comprendra, la copie du contenue du texte sur Excel tel qu’il se présente et en-dessous se que vous voulez obtenir.
Bonjour,
Merci eric pour tas réponse qui m’a déjà beaucoup aidé.
Il me reste quand même toujours un petit problème.
Tes deux commandes marche bien la 1er "=SUBSTITUE(A1;CAR(10);" ")" mes tout sur une seul ligne, la 2éme : "=SUBSTITUE(A1;"|Interne|";"|Interne|"&CAR(10))" fait bien un retour à la ligne après le mot |Interne|. Voila ce qu'il me manque : chacune de mes ligne termine par deux mots "|Interne|" et "|Externe|" pour Interne le problème est résolu mais je voudrai pouvoir faire la même opération pour externe mais sur la même ligne de commande. Donc voila mon problème serait d'additionner toutes les commandes que tu vient de me donner:
=SUBSTITUE(A1;CAR(10);" "),
=SUBSTITUE(A1;"|Interne|";"|Interne|"&CAR(10)) et
=SUBSTITUE(A1;"|Externe|";"|Externe|"&CAR(10)) sur une seul ligne.
Sinon un problème un peut plus superficiel : lors des retours à la ligne un espace ce créer avant le 1er mot de chaque ligne. Y a t-il un moyen d’éviter cela.
Une dernière question lors du copier coller sur Excel je suis obliger de diviser mon texte en deux car la cellule n'accepte pas de prendre le texte en entier. Peut-on changer cela ?
J'envoie un petit exemple de ce que je peut faire en ce moment mais en fesant un grand nombres d'étapes.
https://www.cjoint.com/?hDlupZe2fD
Sinon merci de ton aide.
Cordialement,
Slarche
Merci eric pour tas réponse qui m’a déjà beaucoup aidé.
Il me reste quand même toujours un petit problème.
Tes deux commandes marche bien la 1er "=SUBSTITUE(A1;CAR(10);" ")" mes tout sur une seul ligne, la 2éme : "=SUBSTITUE(A1;"|Interne|";"|Interne|"&CAR(10))" fait bien un retour à la ligne après le mot |Interne|. Voila ce qu'il me manque : chacune de mes ligne termine par deux mots "|Interne|" et "|Externe|" pour Interne le problème est résolu mais je voudrai pouvoir faire la même opération pour externe mais sur la même ligne de commande. Donc voila mon problème serait d'additionner toutes les commandes que tu vient de me donner:
=SUBSTITUE(A1;CAR(10);" "),
=SUBSTITUE(A1;"|Interne|";"|Interne|"&CAR(10)) et
=SUBSTITUE(A1;"|Externe|";"|Externe|"&CAR(10)) sur une seul ligne.
Sinon un problème un peut plus superficiel : lors des retours à la ligne un espace ce créer avant le 1er mot de chaque ligne. Y a t-il un moyen d’éviter cela.
Une dernière question lors du copier coller sur Excel je suis obliger de diviser mon texte en deux car la cellule n'accepte pas de prendre le texte en entier. Peut-on changer cela ?
J'envoie un petit exemple de ce que je peut faire en ce moment mais en fesant un grand nombres d'étapes.
https://www.cjoint.com/?hDlupZe2fD
Sinon merci de ton aide.
Cordialement,
Slarche
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Encore un grand merci ^^
Désolé de t’embêté encore mais de nouveaux problèmes ce présente encore devant moi :'(.
J'essaye de faire une macro avec toute les commande que tu vient de me donner.
Donc mon problème et de ne pas connaître la commande pour copier le contenue d’une cellule. Enfin je pense que pour le moment ces le seul problème mais si possible peut tu vérifier mon code vite fait pour savoir si il n’y à pas trop d’erreur.
Merci d’avance.
Sub test()
Range("A2").Select
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(R[-1]C,CHAR(10),"" ""),""|Interne| "",""|Interne| ""&CHAR(10)),""|Externe| "",""|Externe| ""&CHAR(10)),""|Origine| "",""|Origine| ""&CHAR(10))"
Range("A2").Select
Selection.Copy // ici je copie la cellule A2
Range("A3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False // ici je fait un collage spécial / valeur
Bon bas la j'ai mon problème je voudrais copier tout le contenue de ma cellule A3 et le coller entre A1 et R6000.
Selection.Cut Destination:=Range("A1:R6000")
End Sub
Merci de m’accorder encore un peut de temps :).
Cordialement,
Slarche
Désolé de t’embêté encore mais de nouveaux problèmes ce présente encore devant moi :'(.
J'essaye de faire une macro avec toute les commande que tu vient de me donner.
Donc mon problème et de ne pas connaître la commande pour copier le contenue d’une cellule. Enfin je pense que pour le moment ces le seul problème mais si possible peut tu vérifier mon code vite fait pour savoir si il n’y à pas trop d’erreur.
Merci d’avance.
Sub test()
Range("A2").Select
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(R[-1]C,CHAR(10),"" ""),""|Interne| "",""|Interne| ""&CHAR(10)),""|Externe| "",""|Externe| ""&CHAR(10)),""|Origine| "",""|Origine| ""&CHAR(10))"
Range("A2").Select
Selection.Copy // ici je copie la cellule A2
Range("A3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False // ici je fait un collage spécial / valeur
Bon bas la j'ai mon problème je voudrais copier tout le contenue de ma cellule A3 et le coller entre A1 et R6000.
Selection.Cut Destination:=Range("A1:R6000")
End Sub
Merci de m’accorder encore un peut de temps :).
Cordialement,
Slarche
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
30 juil. 2009 à 16:20
30 juil. 2009 à 16:20
Re,
Heuuu, tu dois vraiment copier exactement la même chose sur 18 colonnes et 6000 lignes ???
De toute façon je ne suis pas sûr qu'une macro soit vraiment nécessaire pour faire ça, c'est rapide à faire au clavier...
Et puis si c'est pour compléter une macro tu aurais dû le dire tout de suite, c'était plus simple à faire directement en vba avec ses fonctions de traitement de chaine.
Sinon essaie avec :
[A1:R6000].Value = [B1].Value
Edit : je viens seulement de voir macro dans le titre
Heuuu, tu dois vraiment copier exactement la même chose sur 18 colonnes et 6000 lignes ???
De toute façon je ne suis pas sûr qu'une macro soit vraiment nécessaire pour faire ça, c'est rapide à faire au clavier...
Et puis si c'est pour compléter une macro tu aurais dû le dire tout de suite, c'était plus simple à faire directement en vba avec ses fonctions de traitement de chaine.
Sinon essaie avec :
[A1:R6000].Value = [B1].Value
Edit : je viens seulement de voir macro dans le titre
Salut,
Euu, Mon problème enfaîte est d'avoir un texte en forme de tableau dans une seul cellule. Je voudrais que ce tableau soit copier dans une grande plage de cellule pour éviter des pertes de ligne ou de colonne. Mon tableau varie souvent de 1000 à 2000 ligne d'ou mon choix de sélectionner un grand nombre de cellule.
Tas commande pour copier la cellule marche mais cela me pose problème car lorsque je colle sur un grand nombre de cellule je ne retrouve pas un tableau mais 50 fois le même texte dans chaque cellule or je veux copier le contenue de ma cellule pour ensuite le coller sur une grande surface de cellule pour en faire un tableau.
Donc enfaîte il ne me manque que la commande pour copier tout le texte à l'intérieur de mas cellule.
Cordialement,
Slarche
Euu, Mon problème enfaîte est d'avoir un texte en forme de tableau dans une seul cellule. Je voudrais que ce tableau soit copier dans une grande plage de cellule pour éviter des pertes de ligne ou de colonne. Mon tableau varie souvent de 1000 à 2000 ligne d'ou mon choix de sélectionner un grand nombre de cellule.
Tas commande pour copier la cellule marche mais cela me pose problème car lorsque je colle sur un grand nombre de cellule je ne retrouve pas un tableau mais 50 fois le même texte dans chaque cellule or je veux copier le contenue de ma cellule pour ensuite le coller sur une grande surface de cellule pour en faire un tableau.
Donc enfaîte il ne me manque que la commande pour copier tout le texte à l'intérieur de mas cellule.
Cordialement,
Slarche
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
31 juil. 2009 à 19:24
31 juil. 2009 à 19:24
Re,
Mon problème enfaîte est d'avoir un texte en forme de tableau dans une seul cellule
?????
Et tu attends 3 jours pour le dire ou alors je comprend mal ta phrase ?
Quand on colle plusieurs lignes dans excel elles se repartissent sur plusieurs ligne, pas dans une seule cellule.
Et quand tu demandes je voudrais copier tout le contenue de ma cellule A3 et le coller entre A1 et R6000 c'est exactement ce que fait la réponse que j'ai fourni bien qu'étonné de ta demande
Tu expliques vraiment très mal ton besoin...
J'ai répondu à tes 1eres questions et j'arrete là pour ma part
eric
Mon problème enfaîte est d'avoir un texte en forme de tableau dans une seul cellule
?????
Et tu attends 3 jours pour le dire ou alors je comprend mal ta phrase ?
Quand on colle plusieurs lignes dans excel elles se repartissent sur plusieurs ligne, pas dans une seule cellule.
Et quand tu demandes je voudrais copier tout le contenue de ma cellule A3 et le coller entre A1 et R6000 c'est exactement ce que fait la réponse que j'ai fourni bien qu'étonné de ta demande
Tu expliques vraiment très mal ton besoin...
J'ai répondu à tes 1eres questions et j'arrete là pour ma part
eric