Traduction de VBA en algorithme

Fermé
so - 5 nov. 2007 à 16:05
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 10 nov. 2007 à 20:48
Bonjour,
Je souhaiterais avoir la traduction de ce VBA en algorithme si c'est possible!
merci!

Private Sub BC_ok_Click()

i = 2

While ActiveSheet.Cells(i, 1).Value <> ""
i = i + 1
Wend
ActiveSheet.Cells(i, 1).Value = ZT_nom.Value

ActiveSheet.Cells(i, 2).Value = ZT_ad1.Value
ActiveSheet.Cells(i, 3).Value = ZT_ad2.Value
ActiveSheet.Cells(i, 4).Value = ZT_CP.Value
ActiveSheet.Cells(i, 5).Value = ZT_ville.Value
ActiveSheet.Cells(i, 6).Value = ZT_cedex.Value
ActiveSheet.Cells(i, 7).Value = ZT_tel.Value
ActiveSheet.Cells(i, 8).Value = ZT_fax.Value

End Sub


Private Sub BO_retour_Click()
FM_nouvoclt.Hide
BO_retour = False

FM_Accueil.Show

End Sub

Private Sub Label1_Click()

End Sub

16 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 nov. 2007 à 20:05
mdrrrr, nan ... je fais pas les exos ... dsl ... j'ai déjà donné assez de remarques et en retour je ne vois même pas un semblant de propositions ... aller on s'y remet, on reprend les cours et les bonnes vieilles méthodes de teste, et on revient ici avec un algo qui tient la route. Ok ?

J'ai aussi une remarque sur la déclaration des variables ... Il y en a 5 de bonnes et 5 de fausses ... ça fait la moyenne, certe, mais ça compile pas le programme ...

;o)

Polux
1
Bonjour,
j'ai trouvé cet algo mais je sait pas si c'est juste donc dite moi!!

variables
i en entier
LC en entier
nom en caractère
ad1 en caractère
ad2 en caractère
CP en entier
Ville en caractère
cedex en entier
tel en entier
fax en entier

Début

i=2
Tant que
LC<>""
i=i+1

alors
LC [i,1]="nom"
lire"nom"
LC [i,2]="ad1"
lire "ad1"
LC [i,3]="ad2"
lire "ad2"
LC [i,4]="CP"
lire "CP"
LC [i,5]="ville"
lire "ville"
LC [i,6]="cedex"
lire "cedex"
LC [i,7]="tel"
lire "tel"
LC [i,8]="fax"
lire "fax"

Fin tant que
fin
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 nov. 2007 à 16:48
bonjour,

lol, pourquoi faire l'algo si le code existe ??? en principe on fait d'abord l'algo et ensuite on code ...

;o)

Polux
0
Bonjour,

lol ben di moi o moins si sa correspond!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 nov. 2007 à 19:14
Salut,

Non là ça ne va pas ... tu as fait une boucle sans fin ...du moins jusqu'au limite de ligne d'Excel .... que fait le "alors" ?

Tu dis : Tant que la cellule est vide alors j'ajoute 1 à i ... jusque là, c'est bon. Mais après ????

;o)

Polux
0
Bonjour,
donnes nous la réponse polux stp stp!!
0
Re,
bah en plus on c'est trompé d'algo c'était pas celui la kon devait faire c'était un autre je vais le coller à la suite c'est toujours un peu le même principe de toutes façon! si tu peu y jeté un oeil ca serai vrémen sympa!

variables
i en entier
LC en entier
Fact en caractère
Date en entier
FDT en caractère
GV en caractère
MM en caractère
VQR en caractère
CH en caractère
BSR en caractère
MV en caractère
RL en caractère
CCL en caractère
ELP en caractère
CA en caractère
PCD en caractère
FJ en caractère
FP en caractère
SOR en caractère


Début

i=2
Tant que
LC<>""
i=i+1
fin tant que

LC [i,1]="clt "
lire"clt"
LC [i,2]="fact"
lire "fact"
LC [i,3]="date"
lire "date"
LC [i,4]="FDT "
lire"FDT"
LC [i,5]="GV"
lire "GV"
LC [i,6]="MM"
lire "MM"
LC [i,7]="VQR"
lire "VQR"
LC [i,8]="CH"
lire "CH"
LC [i,9]="BSR"
lire "BSR"
LC [i,10]="MV"
lire "MV"
LC [i,11]="RL"
lire "RL"
LC [i,12]="CCL"
lire"CCL"
LC [i,13]="ELP"
lire "ELP"
LC [i,14]="CA"
lire "CA"
LC [i,15]="PCD"
lire "PCD"
LC [i,16]="FJ"
lire "FJ"
LC [i,17]="FP"
lire "FP"
LC [i,18]="SOR"
lire "SOR"


Fin

Merci!!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 nov. 2007 à 12:46
Salut,

Ca me parait déjà mieux ... sauf que je ne comprends pas pourquoi "LC" est un entier ? De même pour "Date". Soit "Date" est de type Date (lol) ou bien c'est une chaine de caractères.

Si je traduits en bon français :

Tant que la cellule (i) n'est pas vide, j'ajoute 1 à i et je teste la cellule suivante, sinon je sors du tant que ... et dans chaque cellule de i j'écris le texte qui va bien ... :o)

;o)

Polux
0
Re,

Oki merci pour tes remarques c'est vrément trés sympa de ta part de nous aidé :d donc pour LC je dois le déclaré en caractère?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 nov. 2007 à 13:38
Je crois plutot que c'est un "objet" ... :oD

Mais vous n'en êtes pas encore là ... donc je ferai plutôt, pour être plus clair dans l'algo (garder en tête, qu'une autre personne que vous doit pouvoir traduire votre algo en code ...):

FE = Feuille Active Excel
Cel(i) = cellule courante

donc :

Tant que FE.Cel(i) <> " "
...

Voilà, l'algo est un pseudo langage qui mélange français + code, et qui doit servir un developpeur dans le code de telle ou telle fonction ou procédure.

Donc dans la déclaration des variables, indiquer à quoi sert la variable. Ex : i = entier 'index de boucle initialisé à 2 et incrémenté d'un pas de 1, permettant d'indexé les cellules.

En écrivant ça, j'ai relu l'algo... il y a une chose que je viens de remarquer. Après le tant que, que doit faire le programme ? Il y a un blème là aussi ...
0
alors g modifier le début de l'algo j'ai pa le temps de faire la suite

Début

i=2
Tant que
FE.cel (i)<>""
i=i+1
ecrire “entrez les informations”

fin tant que

Si j'ai tout compris il faudra donc remplacé LC par FE.cel

Merki!!
0
Donc re-voila l'algo corrigé jespère kil ny a plus derreur!! lol


variables
i en entier
FE en Feuille Active Excel
Cel(i) en cellule courante
Fact en caractère
Date en date
FDT en caractère
GV en caractère
MM en caractère
VQR en caractère
CH en caractère
BSR en caractère
MV en caractère
RL en caractère
CCL en caractère
ELP en caractère
CA en caractère
PCD en caractère
FJ en caractère
FP en caractère
SOR en caractère


Début

i=2
Tant que
FE.cel (i)<>""
i=i+1
ecrire “entrez les informations”

fin tant que

FE.cel [i,1]="clt "
lire"clt"
FE.cel [i,2]="fact"
lire "fact"
FE.cel [i,3]="date"
lire "date"
FE.cel [i,4]="FDT "
lire"FDT"
FE.cel [i,5]="GV"
lire "GV"
FE.cel [i,6]="MM"
lire "MM"
FE.cel [i,7]="VQR"
lire "VQR"
FE.cel [i,8]="CH"
lire "CH"
FE.cel [i,9]="BSR"
lire "BSR"
FE.cel [i,10]="MV"
lire "MV"
FE.cel [i,11]="RL"
lire "RL"
FE.cel [i,12]="CCL"
lire"CCL"
FE.cel [i,13]="ELP"
lire "ELP"
FE.cel [i,14]="CA"
lire "CA"
FE.cel [i,15]="PCD"
lire "PCD"
FE.cel [i,16]="FJ"
lire "FJ"
FE.cel [i,17]="FP"
lire "FP"
FE.cel [i,18]="SOR"
lire "SOR"


Fin

merci!!
0
voila on a un deuxième souci on essaie de faire un second algo mais disons kon ne sait pas par ou commencer!!!

Donc on doit réalisé un algo qui permet de mettre différentes information sur une même feuille.
On a trois feuilles excel : clients, produits et une feuille récapitulative.
On doit metre dans une quatrième feuille des informations contenus dans les feuilles citer ci-dessus.
Le but de la manoeuvre est de créer une facture avec le nom du client, la désignation du produit et la quantité de produit acheté.

eske tu pouré nous doné une piste pour kon puisse commencer

merki!!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 nov. 2007 à 16:06
je ne comprends toujours ce que fait le programme après le fin tant que ...Pourquoi faire "lire "clt" ??? de plus si clt est déclaré comme variable, il ne faut les entre-cotes ...
0
nouvelle version un peu modifier si on a pigé kan on déclare en variable on a pas besoin de les lire après?

variables
i en entier
FE en Feuille Active Excel
Cel(i) en cellule courante
Fact en caractère
Date en date
FDT en caractère
GV en caractère
MM en caractère
VQR en caractère
CH en caractère
BSR en caractère
MV en caractère
RL en caractère
CCL en caractère
ELP en caractère
CA en caractère
PCD en caractère
FJ en caractère
FP en caractère
SOR en caractère


Début

i=2
Tant que
FE.cel (i)<>""
i=i+1
ecrire “entrez les informations”

fin tant que

Répéter
FE.cel [i,1]=clt
FE.cel [i,2]=fact
FE.cel [i,3]=date
FE.cel [i,4]=FDT
FE.cel [i,5]=GV
FE.cel [i,6]=MM
FE.cel [i,7]=VQR
FE.cel [i,8]=CH
FE.cel [i,9]=BSR
FE.cel [i,10]=MV
FE.cel [i,11]=RL
FE.cel [i,12]=CCL
FE.cel [i,13]=ELP
FE.cel [i,14]=CA
FE.cel [i,15]=PCD
FE.cel [i,16]=FJ
FE.cel [i,17]=FP
FE.cel [i,18]=SOR


Fin

merci!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 nov. 2007 à 16:27
oui c'est ça :oD ... mais il faut instancier les variables quand même ...

ex :
clt en caractères
clt = "clt"
...
et là c'est bien pour le reste.

bon courage pour la suite.

;o)
0
Bonjour,
Merci beaucoup c'est moi qui avait mis ce VBA sur internet et vous m'avez beaucoup aidé.
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
10 nov. 2007 à 20:48
Pas de prob ...

Si on peut aider et non faire c'est mieux ;p

Un p'tit résolu alors ...
0