Traduction de VBA en algorithme

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

  • Votes
  • Date
  • Date décroissante
  1. 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
      1. bonjour,

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

        ;o)

        Polux
        1. 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
          1. Bonjour,
            donnes nous la réponse polux stp stp!!
        2. 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!!
          1. 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
            1. 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?
              1. 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 ...
                1. 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!!
                  1. 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!!
                    1. 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!!
                      1. 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 ...
                        1. 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!
                          1. 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)
                            1. Bonjour,
                              Merci beaucoup c'est moi qui avait mis ce VBA sur internet et vous m'avez beaucoup aidé.
                              1. Pas de prob ...

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

                                Un p'tit résolu alors ...