Code vb SOS

Résolu/Fermé
lobnaw
Messages postés
4
Date d'inscription
jeudi 12 février 2015
Statut
Membre
Dernière intervention
12 février 2015
- Modifié par pijaku le 12/02/2015 à 12:57
pijaku
Messages postés
12258
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
- 12 févr. 2015 à 14:59
bonjour,
j'ai trouver ce code ici, il m'a vraiment aidé mais malheureusement il ne remplace que des textes j'ai besoin qu'il remplace une chaine de caractère, est ce possible que quelqu'un peut m'aider, c'est vraiment urgent

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Dim txt$, i As Integer, trad As Variant
txt = Application.Trim(Target)
For i = 0 To UBound(Split(txt, " "))
trad = Application.VLookup(Split(txt, " ")(i), Sheets("dico").Range("A:B"), 2, 0)
If Not IsError(trad) Then txt = Replace(txt, Split(txt, " ")(i), trad)
Next
Application.EnableEvents = False
Target = txt
Application.EnableEvents = True
End Sub

2 réponses

pijaku
Messages postés
12258
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 700
12 févr. 2015 à 13:00
Bonjour,

l ne remplace que des textes j'ai besoin qu'il remplace une chaine de caractère
Un texte n'est rien d'autre qu'une chaine de caractères. Non?

Soit donc plus explicite et dis nous ce que tu souhaites faire exactement.
Un fichier serait également le bienvenu. Pour cela, utilise un site de pièce jointe comme cjoint et reviens coller le lien fourni ici.
0
lobnaw
Messages postés
4
Date d'inscription
jeudi 12 février 2015
Statut
Membre
Dernière intervention
12 février 2015

12 févr. 2015 à 14:23
merci pijaku
j'arrive pas à joindre le fichier
bon voilà la situation: j'ai plusieurs feuilles contenant des nom des établissements en arabes je veux ajouter au classeur une autre feuille qui contient la liste de tous les établissements en deux version arabe et français et je veux créer un macro qui permet de remplacer ce qui est en arabe par celui qui lui corresponds en français dans la liste.
dans le code "dico" est la feuille qui contient la liste en deux versions et le résultat doit etre affiché dans la feuille1
0
pijaku
Messages postés
12258
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 700
12 févr. 2015 à 14:33
Que se passe t'il lorsque tu le fais sans macro?

Supposons, dans n'importe qu'elle feuille de ton classeur :
- en A1 : colle un "mot" (chaine de caractère) extraite de ton nom d'établissement en Arabe,
- en B1 : saisir la formule :
=RECHERCHEV(A1;dico!A:B;2;FAUX)
0
lobnaw
Messages postés
4
Date d'inscription
jeudi 12 février 2015
Statut
Membre
Dernière intervention
12 février 2015

12 févr. 2015 à 14:46
il y'a plusieurs feuilles et dans chacune il y'a plusieurs tableau, je veux utiliser un macro pour gagner le temps sinon rechercher remplacer fera l'affaire...
0
pijaku
Messages postés
12258
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 700 > lobnaw
Messages postés
4
Date d'inscription
jeudi 12 février 2015
Statut
Membre
Dernière intervention
12 février 2015

12 févr. 2015 à 14:52
Peux tu essayer ce que je t'ai demandé et me dire quel résultat tu obtiens s'il te plait?
0
lobnaw
Messages postés
4
Date d'inscription
jeudi 12 février 2015
Statut
Membre
Dernière intervention
12 février 2015

12 févr. 2015 à 14:55
ça donne #N/A
0
pijaku
Messages postés
12258
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 700 > lobnaw
Messages postés
4
Date d'inscription
jeudi 12 février 2015
Statut
Membre
Dernière intervention
12 février 2015

12 févr. 2015 à 14:59
Donc, la RECHERCHEV de chaines de caractères en arabe ne fonctionne pas. Pourquoi? je ne le sais pas, mais c'est ce qu'il te faut trouver pour que ta macro fonctionne. En effet, ta macro ne fait que des RECHERCHEV en boucle (Application.VLOOKUP).
0