Remplacements dans une sélection
Résolu
touroul
Messages postés
509
Date d'inscription
Statut
Membre
Dernière intervention
-
touroul Messages postés 509 Date d'inscription Statut Membre Dernière intervention -
touroul Messages postés 509 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Excel remplacer dans une selection
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Remplacer disque dur par ssd - Guide
- Word et excel gratuit - Guide
- Remplacer dans word - Guide
8 réponses
Bonjour,
Mais bien sur que si, tu commence par sélectionner ta plage A1:M980
ensuite tu ouvres l'assistant, onglet Accueil/module Édition/Rechercher et Sélectionner/Remplacer, dans rechercher tu saisis le texte à remplacer Paris;Toulouse;Carcassonne et dans remplacer tu saisis France et clic sur remplacer tout
Attention il faut que les saisis soient identiques, un seul espace et cela ne fonctionne pas, de même que si tu veux remplacer que Paris dans la chaine il faut dans Rechercher saisir uniquement Paris
ou il faut écrire une formule qui prendra en compte Paris ou Toulouse ou Carcassonne
et affichera France
exemple
=SI(OU(NB.SI(A4;"*Paris*")=1;NB.SI(A4;"*Toulouse*")=1;NB.SI(A4;"*Carcassonne*")=1);"France";"")
ensuite il suffit de faire un copier/collage spécial/valeur pour transformer les
formule par le texte
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mais bien sur que si, tu commence par sélectionner ta plage A1:M980
ensuite tu ouvres l'assistant, onglet Accueil/module Édition/Rechercher et Sélectionner/Remplacer, dans rechercher tu saisis le texte à remplacer Paris;Toulouse;Carcassonne et dans remplacer tu saisis France et clic sur remplacer tout
Attention il faut que les saisis soient identiques, un seul espace et cela ne fonctionne pas, de même que si tu veux remplacer que Paris dans la chaine il faut dans Rechercher saisir uniquement Paris
ou il faut écrire une formule qui prendra en compte Paris ou Toulouse ou Carcassonne
et affichera France
exemple
=SI(OU(NB.SI(A4;"*Paris*")=1;NB.SI(A4;"*Toulouse*")=1;NB.SI(A4;"*Carcassonne*")=1);"France";"")
ensuite il suffit de faire un copier/collage spécial/valeur pour transformer les
formule par le texte
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Salut Mike
Merci bien de t'y mettre.
Lorsque je suis ce que tu m'indiques, il me trouves bien des occurences, mais sans tenir compte de ma sélection.
Du coup, si je fais "Remplacer tout", il me remplace aussi les occurences en dehors de ma sélection.
Un exemple sur https://www.cjoint.com/?DJrlCWOPuJo
Autre chose : dans le champ de recherche, peut-on spécifier plusieurs valeurs à remplacer par la même chaîne ?
Si oui, comment séparer les valeurs ? Espace et ; ne fonctionnent pas.
Merci d'avance Mike
Merci bien de t'y mettre.
Lorsque je suis ce que tu m'indiques, il me trouves bien des occurences, mais sans tenir compte de ma sélection.
Du coup, si je fais "Remplacer tout", il me remplace aussi les occurences en dehors de ma sélection.
Un exemple sur https://www.cjoint.com/?DJrlCWOPuJo
Autre chose : dans le champ de recherche, peut-on spécifier plusieurs valeurs à remplacer par la même chaîne ?
Si oui, comment séparer les valeurs ? Espace et ; ne fonctionnent pas.
Merci d'avance Mike
Re,
Non cela marche très bien, tu sélectionnes bien ta plage en jaune A4:D15
tu vas chercher l'outil Remplacer dans Rechercher tu saisis Paris et dans Remplacer France, tu clic sur remplacer tout et tout tes Paris de la zone sélectionnée sont remplacé, et uniquement les valeurs de ton tableau jaune, MAIS IL FAUT QUE LA PLAGE SOIT ACTIVEE (sélectionnée)
pour la deuxième question, c'est non ou il faut passer par ma proposition avec formule ou plus compliqué avec un code VBA
Non cela marche très bien, tu sélectionnes bien ta plage en jaune A4:D15
tu vas chercher l'outil Remplacer dans Rechercher tu saisis Paris et dans Remplacer France, tu clic sur remplacer tout et tout tes Paris de la zone sélectionnée sont remplacé, et uniquement les valeurs de ton tableau jaune, MAIS IL FAUT QUE LA PLAGE SOIT ACTIVEE (sélectionnée)
pour la deuxième question, c'est non ou il faut passer par ma proposition avec formule ou plus compliqué avec un code VBA
Tu avais raison, j'arrive à effectuer ce remplacement à présent, je ne sais pas ce que j'ai fichu tout à l'heure ... :)
La réalité est un peu différente pour mon fichier de plus de 1000 lignes qui contient une cinquantaine de mots à remplacer tous par France.
Comme il me paraissait difficile de se passer de macros, j'ai enregistré une macro et corrigé partiellement le code :
J'obtiens cette macro qui remplace Carcassonne dans ma sélection effectuée à la souris :
Option Explicit
Sub Rempl()
Dim ActSheet As Worksheet
Dim SelRange As Range
Set ActSheet = ActiveSheet
Set SelRange = Selection
Selection.Replace What:="Carcassonne", Replacement:="France", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActSheet.Select
SelRange.Select
End Sub
Cela fonctionne très bien ainsi.
Par contre, penses-tu possible de remplacer le What:="Carcassonne"
par What:="Tout ce qui se trouve dans la colonne F" ???
Voici le fichier avec la macro : https://www.cjoint.com/c/DJrmssVeYec
On avance, merci pour ton aide.
Je trouve le sujet passionnant.
La réalité est un peu différente pour mon fichier de plus de 1000 lignes qui contient une cinquantaine de mots à remplacer tous par France.
Comme il me paraissait difficile de se passer de macros, j'ai enregistré une macro et corrigé partiellement le code :
J'obtiens cette macro qui remplace Carcassonne dans ma sélection effectuée à la souris :
Option Explicit
Sub Rempl()
Dim ActSheet As Worksheet
Dim SelRange As Range
Set ActSheet = ActiveSheet
Set SelRange = Selection
Selection.Replace What:="Carcassonne", Replacement:="France", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActSheet.Select
SelRange.Select
End Sub
Cela fonctionne très bien ainsi.
Par contre, penses-tu possible de remplacer le What:="Carcassonne"
par What:="Tout ce qui se trouve dans la colonne F" ???
Voici le fichier avec la macro : https://www.cjoint.com/c/DJrmssVeYec
On avance, merci pour ton aide.
Je trouve le sujet passionnant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Tu pourrais partir sur un code simple placé dans un bouton activex
Private Sub CommandButton1_Click()
[A3:D15].Replace What:=[F3], Replacement:="France"
[A3:D15].Replace What:=[F4], Replacement:="France"
[A3:D15].Replace What:=[F5], Replacement:="France"
[A3:D15].Replace What:=[F6], Replacement:="France"
[A3:D15].Replace What:=[F7], Replacement:="France"
[A3:D15].Replace What:=[F8], Replacement:="France"
[A3:D15].Replace What:=[F9], Replacement:="France"
[A3:D15].Replace What:=[F10], Replacement:="France"
End Sub
on pourrait travailler avec des boucles ce qui raccourcirait le code mais le ralentirait
https://www.cjoint.com/?DJroLhCFAY4
Tu pourrais partir sur un code simple placé dans un bouton activex
Private Sub CommandButton1_Click()
[A3:D15].Replace What:=[F3], Replacement:="France"
[A3:D15].Replace What:=[F4], Replacement:="France"
[A3:D15].Replace What:=[F5], Replacement:="France"
[A3:D15].Replace What:=[F6], Replacement:="France"
[A3:D15].Replace What:=[F7], Replacement:="France"
[A3:D15].Replace What:=[F8], Replacement:="France"
[A3:D15].Replace What:=[F9], Replacement:="France"
[A3:D15].Replace What:=[F10], Replacement:="France"
End Sub
on pourrait travailler avec des boucles ce qui raccourcirait le code mais le ralentirait
https://www.cjoint.com/?DJroLhCFAY4
Mmmmh oui, ça fonctionnerait.
Mais dans ce cas tu ne tiens pas compte de 2 conditions :
- La variabilité de la longueur du tableau (réglée par la sélection à la souris)
- Le fait que mon tableau comprend parfois 1000 lignes, difficile de recopier le code 1000 fois.
J'ai une autre solution, peut-être plus facile à mettre en oeuvre :
Ça fonctionnerait si, dans ma sélection à la souris, on remplaçait :
Toutes les cellules non-vides sauf celles comprenant "Fontenay; Marseille; Bordeaux" par Paris.
Une idée ?
Mais dans ce cas tu ne tiens pas compte de 2 conditions :
- La variabilité de la longueur du tableau (réglée par la sélection à la souris)
- Le fait que mon tableau comprend parfois 1000 lignes, difficile de recopier le code 1000 fois.
J'ai une autre solution, peut-être plus facile à mettre en oeuvre :
Ça fonctionnerait si, dans ma sélection à la souris, on remplaçait :
Toutes les cellules non-vides sauf celles comprenant "Fontenay; Marseille; Bordeaux" par Paris.
Une idée ?
Re,
il suffit de remplacer
[A3:D15] par selection
Private Sub CommandButton1_Click()
Selection.Replace What:=[F3], Replacement:="France"
Selection.Replace What:=[F4], Replacement:="France"
Selection.Replace What:=[F5], Replacement:="France"
Selection.Replace What:=[F6], Replacement:="France"
Selection.Replace What:=[F7], Replacement:="France"
Selection.Replace What:=[F8], Replacement:="France"
Selection.Replace What:=[F9], Replacement:="France"
Selection.Replace What:=[F10], Replacement:="France"
End Sub
il suffit de remplacer
[A3:D15] par selection
Private Sub CommandButton1_Click()
Selection.Replace What:=[F3], Replacement:="France"
Selection.Replace What:=[F4], Replacement:="France"
Selection.Replace What:=[F5], Replacement:="France"
Selection.Replace What:=[F6], Replacement:="France"
Selection.Replace What:=[F7], Replacement:="France"
Selection.Replace What:=[F8], Replacement:="France"
Selection.Replace What:=[F9], Replacement:="France"
Selection.Replace What:=[F10], Replacement:="France"
End Sub