Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro remplcement caractere par un autre sou condition

  • Initiateur de la discussion Initiateur de la discussion sim
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sim

XLDnaute Occasionnel
Bonjour a toutes et a toutes!!

Bon me revoila avec un petit soucy qui m'embete un peu!!

J'ai une macro qui travail des donnees brutes
Dans cette macro je remplace en colonne I les "-" par des "--->"

Voici le code

Code:
With Sheets("FX")
.Columns("I").Replace "-", "--->", LookAt:=xlPart
End With

Bon jusque la tout va bien! sauf que je me suis apercu qu'il y a un cas ou ce remplacement ne doit pas se faire:

lorsque j'ai "rabaquera-eit" et seulement ca

Y a t il un moyen pourque exel m'identifie ce mot, ou dire si precede de "a" et suivi de "e"

Enfin voila si on pouvait me donner un petit coup de main ca serait genial!!

Merci d'avance

Bien cordialement.

Sim
 
Re : Macro remplcement caractere par un autre sou condition

Bonjour,

avec la méthode "replace", il me semble pas.. regarde peut être ceci si ca peut t'aider, mais li te faudra faire une boucle sur les cellules de la colonne :
Code:
If InStr(ActiveCell, "a-e") = 0 Then ActiveCell.Replace "-", "--->", LookAt:=xlPart

bon après midi
@+
 
Re : Macro remplcement caractere par un autre sou condition

Bonjour sim, Bonjour Pierrot 🙂,
Comme j'avais fait quelque chose, je le poste:
VB:
Sub test()
Dim I As Long
With Sheets("FX")
    For I = 1 To .Cells(Rows.Count, 180).End(xlUp).Row
        If .Cells(I, 180).Value <> "rabaquera-eit" And .Cells(I, 180) <> "--->" Then _
        .Cells(I, 180).Replace "-", "--->"
    Next I
End With
End Sub
Cordialement
 
Dernière édition:
Re : Macro remplcement caractere par un autre sou condition

Bonjour a vous deux!!

Bon j'ai teste la solution de Efge, malheureusement pas de resultat, en fait plus aucun remplacement n'est fait...

Je vais essayer de faire la boucle dont pierrot parle...je reviens quoi qu'il arrive

Merci!!!

Sim
 
Re : Macro remplcement caractere par un autre sou condition

Bon, pierrot, efge, le forum,

J'y arrive pas...arffff pour une chose aussi bete!!

Peut etre que je devrai preciser que les cellules en colonne I ne contient pas qu'un mot:

Exemple:

I2: rabaqueria-eit-blalala-blili-blobo 'on remplace tout sauf celui la rabaqueria-eit
I3: blala-gogog-ririri-lalala ' on remplace tout
I4: etc

Je crois bien que le code d'efge ne prend pas cette notion en compte, c'est ma fautre je sais je l'avais pas dit

Voila, toute idee est la bienvenue!! 🙂

Sim
 
Re : Macro remplcement caractere par un autre sou condition

Bah si pierrot mais j'arrive pas a faire la boucle....😱😕

Je pensais commencet comme ca

With Sheets("FX")..Columns("I")
If....ton code...

Mais je crois pas que ca va marcher...
 
Dernière édition:
Re : Macro remplcement caractere par un autre sou condition

Re
Je pense qu'une boucle commence par
VB:
For I = X To
et se termine par
VB:
Next I
. Enfin je peux me tromper...🙄.
D'autre part, ce n'est pas la prmière foi que tu post sur le forum, tu devrais donc savoir qu'un bon fichier exemple vaut mieux qu'un long discour imprécis.
Edit;
Je ferais une proposition quand la demande sera finalisée....🙄
 
Dernière édition:
Re : Macro remplcement caractere par un autre sou condition

Re

Pardon, c'est vrai que meme aussi simple la question soit elle, un petit exemple est toujours bcp plus parlant le voila
donc....🙂

Avec donnees brutes et reultat espere

Merci beaucoup 🙂

Sim
 

Pièces jointes

Re : Macro remplcement caractere par un autre sou condition

Bonjour le fil 🙂,
Le plus simple (pour moi) :
Code:
With Sheets("FX").Columns("I")
.Replace "rabaquera-eit", "rabaquera#eit", LookAt:=xlPart
.Replace "-", "--->", LookAt:=xlPart
.Replace "rabaquera#eit", "rabaquera-eit", LookAt:=xlPart
End With
Bonne soirée 😎
 
Re : Macro remplcement caractere par un autre sou condition

Bonjour JNP!!

J'adore!! Ca, ca s'appel rouler excel!!

Je la garde dans un petit coin si jamais on n'y arrive pas avec les proposition precedente!!

En fait ce qui m'embete un peu c'est que ca oblige excel a travailler deux fois la cellule, sachant qu'il y a environ 2000 lignes je voudrait pas que ca alourdisse une procedure deja asses lourde!!

Mais je trouve ca tres malin! hahahah

Sim 😀!
 
Re : Macro remplcement caractere par un autre sou condition

Re 🙂,
Plus exactement avec l'exemple 🙄...
Code:
With Sheets("Sheet1").Columns("I")
.Replace "RABAQUEIRA-EIT", "RABAQUEIRA#EIT", LookAt:=xlPart
.Replace "-", "--->", LookAt:=xlPart
.Replace "RABAQUEIRA#EIT", "RABAQUEIRA-EIT", LookAt:=xlPart
End With
Bonne suite 😎
 
Re : Macro remplcement caractere par un autre sou condition

Messieux!!

J'ai teste la solution de JNP, qui fonctionne tres bien, n'alourdie pas ma procedure (ou en tout cas c'est imperceptible) et en plus me fait rire!!!

Donc solution adoptee!!

Merci beaucoup encore pour votre aide a tout les trois!!

Bon aprem a tous

Sim

PS: bon par curiosite, je serai ravi de voir vos solutions respective! Merki!
 
Re : Macro remplcement caractere par un autre sou condition

Re 🙂,
En fait ce qui m'embete un peu c'est que ca oblige excel a travailler deux fois la cellule, sachant qu'il y a environ 2000 lignes je voudrait pas que ca alourdisse une procedure deja asses lourde!!
Testé sur 5000 lignes : même pas le temps de compter jusqu'à 3 😛...
Alors qu'avec une boucle sur 5000 cellules avec un test, je pense que ça va être plus long 🙄...
Bonne suite 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

S
Réponses
2
Affichages
7 K
S
P
  • Question Question
Réponses
2
Affichages
1 K
P
V
Réponses
2
Affichages
941
Virginie©
V
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…