Besion dun coup de main=)
etienne11017
Messages postés
4
Statut
Membre
-
etienne11017 -
etienne11017 -
Bonjour,
jai besoin d'un petit coup de main...je suis un debutant en programation...et j'ai un pb:
je veux dans une boucle for separer les pair(2*k) des impairs(2*k+1); pour cela, j'ai fait
For j = 1 To longueur_texte
lettre = Mid(texte_a_coder, j = 2 * k, 1)
....next j
For j = 1 To longueur_texte
lettre = Mid(texte_a_coder, j = 1 + 2 * k, 1)
mais je ne sais pas comment faire pour dire que k est un entier?
jai essayé avec une boucle for: For k = 1 To ...etc...next k mais il m'affiche erreur d'execution '5' argument ou appel de procédure incorrect"
y a t il un autre moyen sinon? merci d'avance
etien
jai besoin d'un petit coup de main...je suis un debutant en programation...et j'ai un pb:
je veux dans une boucle for separer les pair(2*k) des impairs(2*k+1); pour cela, j'ai fait
For j = 1 To longueur_texte
lettre = Mid(texte_a_coder, j = 2 * k, 1)
....next j
For j = 1 To longueur_texte
lettre = Mid(texte_a_coder, j = 1 + 2 * k, 1)
mais je ne sais pas comment faire pour dire que k est un entier?
jai essayé avec une boucle for: For k = 1 To ...etc...next k mais il m'affiche erreur d'execution '5' argument ou appel de procédure incorrect"
y a t il un autre moyen sinon? merci d'avance
etien
Configuration: Windows XP Firefox 2.0.0.16
8 réponses
-
bonjour
j'ai rien compris mais j'essaye
dim montext as string, i as integer, impair as string, pair as string
montext = "Ma valeur est celle ci"
' Pour recuperer les lettre de postion impaire
impair = ""
for i = 1 to len(montext) step 2
impair = impair & mid(montext,i,1)
next i
' Recuperer le lettes en position paire
pair = ""
for i = 2 to len(montext) step 2
pair = pair & mid(montext,i,1)
next i
msgbox impair & vbcrlf & pair
-
Bonsoir,
ta façon de faire est assez 'lourde' mais la syntaxe que tu aurais dû respecter pour mid(chaine,départ, nbre) est :
lettre = Mid(texte_a_coder, 2 * j, 1)
et du coup ta boucle devrais être
For j = 1 To longueur_texte / 2
et comme souvent en informatique il souvent plus simple de prendre le problème autrement donc regarde de près la réponse de wilfried avec step 2.
eric -
re:
comme eriiic me confirme que j'ai compris quelque chose, voici une autre boucle
dim montext as string, i as integer, impair as string, pair as string montext = "Ma valeur est celle ci" ' Pour recuperer les lettre de postion impaire impair = "" : pair = "" for i = 1 to len(montext) if i mod 2 = 1 then ' donne le reste de la division par 2, donne 1 si impair, 0 si pair impair = impair & mid(montext,i,1) else pair = pair & mid(montext,i,1) end if next i msgbox impair & vbcrlf & pair
-
Bonjour
Comment faire l'inverse ? Car c'est le but je suppose :)) Codage / Décodage .))
Merci
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
La suite ... 'VBA aide SVP :) pb dans boucle for' :
https://forums.commentcamarche.net/forum/affich-8014257-vba-aide-svp-pb-dans-boucle-for#0
# Par 'etienne11017', le jeudi 21 août 2008 à 21:47:38.
Merci
-
re:
pour l'inverse, j'a mes deux variables Impair et Pair
dim recup as string recup = "" for i = 1 to len(impair) + len(pair) if i mod 2 = 1 then recup = recup & mid(impair,i,1) else recup = recup & mid(pair,i,1) end if next i
-
Rebonjour à tous et toutes
Merci 'wilfried_42' :))
D'autres solutions différentes ? Éventuellement ?
Merci à tous et toutes
-
pour la parité j'ai utilisé modulo 2=0...
pour decoder j'ai fait l'inverse du codage:
codage:
Sub codeAvocat_QuandClic()
texte_a_coder = Range("texte_a_coder").Value
longueur_texte = Len(texte_a_coder)
message_code = ""
For j = 1 To longueur_texte
lettre = Mid(texte_a_coder, j, 1)
lettre = UCase(lettre)
Worksheets("code").Select
For i = 2 To 39
If Worksheets("code").Cells(i, 2).Value = lettre Then
lettre = Worksheets("code").Cells(i, 3).Value
Exit For
End If
Next i
message_code = message_code & lettre
Next j
Worksheets("codeur").Select
Worksheets("codeur").Range("texte_decode").Value = message_code
End Sub
el voici le decodage:
Sub decodeAvocat_QuandClic()
texte_a_decoder = Range("texte_a_decoder").Value
longueur_texte = Len(texte_a_decoder)
message_code = ""
For j = 1 To longueur_texte
lettre = Mid(texte_a_decoder, j, 1)
lettre = UCase(lettre)
Worksheets("code").Select
For i = 2 To 39
If Worksheets("code").Cells(i, 3).Value = lettre Then
lettre = Worksheets("code").Cells(i, 2).Value
Exit For
End If
Next i
message_decode = message_decode & lettre
Next j
Worksheets("decodeur").Select
Worksheets("decodeur").Cells(7, 2).Value = message_decode
End Sub
voilà! merci beaucoup pour votre aide! je progresse!!!=)