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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 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
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > 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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > 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