Remplacer sur Excel des grandes phrases sur plusieurs lignes
Résolu/Fermé
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
-
12 oct. 2014 à 11:59
yacinedu13001 Messages postés 297 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 20 mars 2019 - 12 oct. 2014 à 15:19
yacinedu13001 Messages postés 297 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 20 mars 2019 - 12 oct. 2014 à 15:19
A voir également:
- Remplacer sur Excel des grandes phrases sur plusieurs lignes
- Comment aller à la ligne sur excel - Guide
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Trier sur excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
8 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 742
12 oct. 2014 à 13:24
12 oct. 2014 à 13:24
Re Yacine
Oui, désolé de t'avoir donné une mauvaise piste, je n'avais essayé qu'avec =nouveau mais avec les deux ça ne marche pas effectivement
Donc je ne vois qu'une solution par macro
ALT + F11 pour ouvrir l'éditeur
Insertion puis Module
et copier-coller le code suivant dans la page blanche (en adaptant ensuite à tes besoins la plage de modification et les anciens et nouveaux codes)
Fermer l'éditeur
Pour lancer la macro depuis la feuille concernée : Onglet Développeur Macros cliquer sue le nom de la macro et Executer
Cdlmnt
Oui, désolé de t'avoir donné une mauvaise piste, je n'avais essayé qu'avec =nouveau mais avec les deux ça ne marche pas effectivement
Donc je ne vois qu'une solution par macro
ALT + F11 pour ouvrir l'éditeur
Insertion puis Module
et copier-coller le code suivant dans la page blanche (en adaptant ensuite à tes besoins la plage de modification et les anciens et nouveaux codes)
Sub remplace() ' ancien code bien mettre entre guillemets anc = "aaaaaaaaaaaaaa" ' nouverau code idem nouv = "bbbbbbbbb" For Each c In Range("A1:C50") ' plage de la recherche, à adapter If c.Value = anc Then c.Value = nouv Next End Sub
Fermer l'éditeur
Pour lancer la macro depuis la feuille concernée : Onglet Développeur Macros cliquer sue le nom de la macro et Executer
Cdlmnt
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 742
12 oct. 2014 à 14:00
12 oct. 2014 à 14:00
Et oui ton texte comporte lui-même des guillements ce que n''aime pas le VBA !
Alors mets les code ancien et nouveau dans deux cellules par ex A1 et B1
et remplace les 2 lignes dans la macro par
anc=range("A1")
nouv=range("B1")
Cdlmnt
Alors mets les code ancien et nouveau dans deux cellules par ex A1 et B1
et remplace les 2 lignes dans la macro par
anc=range("A1")
nouv=range("B1")
Cdlmnt
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 742
Modifié par via55 le 12/10/2014 à 12:18
Modifié par via55 le 12/10/2014 à 12:18
Bonjour
Tu mets le nouveau texte dans une cellule, par exemple en A1 et tu nommes cette cellule (clic droit Nommer plage) par exemple nouveau
Puis avec Ctrl F dans Remplacer par tu mets =nouveau
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Tu mets le nouveau texte dans une cellule, par exemple en A1 et tu nommes cette cellule (clic droit Nommer plage) par exemple nouveau
Puis avec Ctrl F dans Remplacer par tu mets =nouveau
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
12 oct. 2014 à 12:21
12 oct. 2014 à 12:21
Salam Yacinedu13001.
Tu peux contourner cette limitation à 255 caractères en utilisation VBA et la fonction Find().
Voir ici : https://www.commentcamarche.net/faq/18696-vba-recherche-find-avec-retour-multiple
°-)
Tu peux contourner cette limitation à 255 caractères en utilisation VBA et la fonction Find().
Voir ici : https://www.commentcamarche.net/faq/18696-vba-recherche-find-avec-retour-multiple
°-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
24
Modifié par yacinedu13001 le 12/10/2014 à 12:49
Modifié par yacinedu13001 le 12/10/2014 à 12:49
Merci pour vos retours rapide :)
@redaiwa : Salam, merci mais ta solution me semble un peu compliqué pour mon niveau -_-
C'est à peine si je me débrouille un peu sur Excel, si je commence à aller sur VBA, autant faire ça ligne par ligne, j'irai plus vite xD
@via55 : Bonjour, ta solution me semble très intéressante mais j'ai un souci.
J'ai donc créé une cellule avec l'ancien code et une autre cellule avec le nouveau code.
Je les aient renommées depuis : Insertion > Noms > Définir en "ancien" et "nouveau".
Quand j'utilise le CTRL+F et que je mets remplacer "=ancien" par "=nouveau", il me dit aucune correspondance trouvée.
@redaiwa : Salam, merci mais ta solution me semble un peu compliqué pour mon niveau -_-
C'est à peine si je me débrouille un peu sur Excel, si je commence à aller sur VBA, autant faire ça ligne par ligne, j'irai plus vite xD
@via55 : Bonjour, ta solution me semble très intéressante mais j'ai un souci.
J'ai donc créé une cellule avec l'ancien code et une autre cellule avec le nouveau code.
Je les aient renommées depuis : Insertion > Noms > Définir en "ancien" et "nouveau".
Quand j'utilise le CTRL+F et que je mets remplacer "=ancien" par "=nouveau", il me dit aucune correspondance trouvée.
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
12 oct. 2014 à 13:46
12 oct. 2014 à 13:46
T'inquiète Yacine, on est tous passé par la case départ. Si tu as le temps (et l'envie), mets-toi au VBA car ça ouvre beaucoup de perspectives et de possibilités qu'on croyaient impossible à réaliser avec les seules fonctions d'Excel.
Concernant ta demande, Via55 t'a donné une solution tout prête.
:-)
Concernant ta demande, Via55 t'a donné une solution tout prête.
:-)
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
24
12 oct. 2014 à 14:14
12 oct. 2014 à 14:14
J'en doutes pas ! Excel m'étonnera toujours et à jamais alors couplé avec le VBA, ça doit être juste extraordinaire :)
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
24
12 oct. 2014 à 13:40
12 oct. 2014 à 13:40
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
24
12 oct. 2014 à 14:13
12 oct. 2014 à 14:13
T'es trop balèze !!!
Ça marche nickel ! Merci beaucoup, tu me sauves mon dimanche et toute ma semaine avec lol parce que changer ça manuellement sur plus de 3500 lignes...
Bon dimanche !
Ça marche nickel ! Merci beaucoup, tu me sauves mon dimanche et toute ma semaine avec lol parce que changer ça manuellement sur plus de 3500 lignes...
Bon dimanche !
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
24
12 oct. 2014 à 14:24
12 oct. 2014 à 14:24
Mince ! J'ai sauté de joie un peu trop vite.
Petit souci en faisant comme tu me l'as conseillé.
En fait, ma cellule ne contiendra pas que le code à changer, elle contiendra un descriptif complet en HTML dont une partie du code à remplacer.
Le souci c'est que en faisant Range("A1"), il me remplace mon code complet HTML par le bout de code que je souhaite remplacer :/
Je ne sais pas si je m'explique correctement, mais il faudrait en fait pouvoir remplacer que le bout de code en question tout en gardant le reste du code HTML qui lui ne doit pas être changé.
La solution idéale était donc de mettre le code en question seulement, mais s'il y a un conflit de guillemets, on est dans une impasse je penses -_-
Merci encore !
Petit souci en faisant comme tu me l'as conseillé.
En fait, ma cellule ne contiendra pas que le code à changer, elle contiendra un descriptif complet en HTML dont une partie du code à remplacer.
Le souci c'est que en faisant Range("A1"), il me remplace mon code complet HTML par le bout de code que je souhaite remplacer :/
Je ne sais pas si je m'explique correctement, mais il faudrait en fait pouvoir remplacer que le bout de code en question tout en gardant le reste du code HTML qui lui ne doit pas être changé.
La solution idéale était donc de mettre le code en question seulement, mais s'il y a un conflit de guillemets, on est dans une impasse je penses -_-
Merci encore !
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 742
12 oct. 2014 à 14:56
12 oct. 2014 à 14:56
Non ce n'est pas une impasse
Si dans A1 tu mets l'ancien code complet; en B1 le bout de code ancien qu'il faut remplacer, en C1 le bout de code nouveau devant remplacer l'ancien et en D1 la formule =SUBSTITUE(A1;B1;C1) tu obtiens en D1 le nouveau code complet
Il suffit dans la macro de remplacer la 2eme ligne par
nouv=range("D1")
Si dans A1 tu mets l'ancien code complet; en B1 le bout de code ancien qu'il faut remplacer, en C1 le bout de code nouveau devant remplacer l'ancien et en D1 la formule =SUBSTITUE(A1;B1;C1) tu obtiens en D1 le nouveau code complet
Il suffit dans la macro de remplacer la 2eme ligne par
nouv=range("D1")
yacinedu13001
Messages postés
297
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
20 mars 2019
24
12 oct. 2014 à 15:19
12 oct. 2014 à 15:19
Je confirme, t'es vraiment balèze ;)
Merci beaucoup, ça marche très bien !
Bon dimanche à toi Sir Excel.
Merci beaucoup, ça marche très bien !
Bon dimanche à toi Sir Excel.