Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Herbiti
  • 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 !

H

Herbiti

Guest
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.

Merci

Message édité par: Herbiti, à: 14/09/2005 17:45
 
je ne sais pas trop comment ça fonctionne le find un un offset.

en fait, j'ai fait le même programme sur access, avec une table, j'ai utilisé la formule dlookup (à la place des ???), mais suir excellça veut pas.
 
Re

bon il faut adapter car j'ai fait sur une feuille qui s'appelle Feuil1 et seulement sur 8 caractères en colonne A et le code en colonne B

For intCar = 1 To intLong
strcar = Mid$(texte, intCar, 1)
moncar = moncar & Sheets('Feuil1').Range('B' & Sheets('Feuil1').Range('A1:A8').Find(strcar).Row)

Next intCar
 
Re

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
 
Un petit ennui technique:

Comment fait-on pour bloquer une ligne ou une colonne? Je m'explique.

J'aimerai que quand on a une ligne (la une par exemple), et qu'on descends jusqu'à la ligne 21, je vois toujours la ligne numéro une.

Comment fait-on?

Merci
 
Un petit ennui technique:

Comment fait-on pour bloquer une ligne ou une colonne? Je m'explique.

J'aimerai que quand on a une ligne (la une par exemple), et qu'on descends jusqu'à la ligne 21, je vois toujours la ligne numéro une.

Comment fait-on?

Merci
 
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]
 

Pièces jointes

- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…