Traduction de VBA en algorithme

so -  
ShaBoo Messages postés 406 Statut Membre -
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
Configuration: Windows XP
Firefox 2.0.0.6

16 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  2. so
     
    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
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  4. so
     
    Bonjour,

    lol ben di moi o moins si sa correspond!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    1. linette
       
      Bonjour,
      donnes nous la réponse polux stp stp!!
      0
  7. so
     
    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
  8. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  9. so
     
    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
  10. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  11. so
     
    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
  12. so
     
    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
  13. so
     
    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
  14. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  15. so
     
    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
  16. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  17. Amandine
     
    Bonjour,
    Merci beaucoup c'est moi qui avait mis ce VBA sur internet et vous m'avez beaucoup aidé.
    0
    1. ShaBoo Messages postés 406 Statut Membre 50
       
      Pas de prob ...

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

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