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 !
Bonjour,
J'aimerai faire une conversion à l'aide d'un tableur excell, j'ai fait ma table dans une feuille (notée Table), avec d'un coté, le texte courant et de l'autre de code.
A l'aide d'un macro sous visual basic, j'aimerai écrire un texte (par exemple, 'Bonjour, je m'appelle Thibaut et j'ai 18 ans'), et tranformer chaque caractère de la phrase au caractère codé qui lui correspond dans la 'Table'.
J'ai déjà fondé la macro:
Code:
Function Coder(Texte)
intLong = Len(Texte)
For intCar = 1 To intLong
strCar = Mid$(Texte, intCar, 1)
Coder = Coder & ???
Next intCar
End Function
Je sais qu'il existe une formule pour prélever un élément et prendre celui d'à coté mais je ne me souviens plus.
Merci de m'éclairer sur ce point noir.
Herbiti
Excusez-moi, j'ai posté deux fois mon post, une fois quand j'étais connecté et l'autre quand je ne l'étais pas.
Concernant mon problème:
J'ai une colonne 'Texte courant' et une colonne 'Code'. Chaque ligne contenant deux caractères (un dans 'Texte courant' et un dans 'Code').
Je tape dans une case, dans une autre feuille, la lettre 'a'. En texte courant, ça donne 'a', imaginons que la lettre qui code le 'a' soit le 'z' ('z' à coté du 'a'), j'aimerai qu'en tapant le 'a', la fonction 'Coder' me renvoie la lettre 'z'. Ce sont les bases. Evidemment, j'ai fait une boucle (avec for...next) afin de convertir un mot, même une phrase!
Voilà ma macro:
Code:
Function Coder(Texte)
intLong = Len(Texte)
For intCar = 1 To intLong
strCar = Mid$(Texte, intCar, 1)
Coder = Coder & ???
Next intCar
End Function
Comme je le disais, je sais qu'il existe une formule qui cherche dans une certaine colonne, et qui donne, une fois le caractère recherché atteind donne le caractère qui se trouve dans la colonne qui la jouxte.
Il existe 'RECHERCHEV', bien sûr, mais j'aimerai trouver une formule du genre, mais sous Visual Basic.
Heu sur le forum on se tutoie c'est beaucoup plus sympa et conviviale (et j'ai l'impression d'être moins vieux 😉 )
Pour la formule elle me parait pas trop complexe
je te la detaille
Sheets(\\'Feuil1\\').Range(\\'A1:A8\\').Find(strcar).Row <=== donne la ligne dans la colonne A où il trouvera ton caractère
Sheets(\\'Feuil1\\').Range(\\'B\\' & Sheets(\\'Feuil1\\').Range(\\'A1:A8\\').Find(strcar).Row) <=== recupère la valeur dans la colonne B à lal ligne qu'on vient de trouver
moncar = moncar & Sheets(\\'Feuil1\\').Range(\\'B\\' &
Sheets(\\'Feuil1\\').Range(\\'A1:A8\\').Find(strcar).Row) <=== ajoute le caractère au bout des autres
j'ai repris un fichier du site pour vous l'expliquer
les lignes 1 à 5, quoique l'on fasse, elle restent toujours, tu peux aller à la ligne 100 que tu les verras toujours. Voilà ce que j'aimerai faire. [file name=FichierModele.zip size=30978]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FichierModele.zip[/file]
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.