Excel vb

Bonjour,
je suis en train de créer une macro!
un traitement ligne par ligne d'une sortie de base de donnée extraite sur excel
arrivée à une cellule je voudrais mettre les 2 premier caractére dans une variable pour faire une recherche de ces 2 caractére ex dans ma cellule j'ai HT\8797899

je voudrais récupéré la valeur HT

je pensée pour le faire avec :

For I = 9 To compteur + 8
' par ligne

resultat = Worksheets("Feuil1").Left(Cells(I, 11).Value, 2)

je connais la formule avec split mais elle ma l'air compliqué
Configuration: Windows XP
Internet Explorer 6.0

12 réponses

  1. Le principe est sympa sauf qu'il faut déclarer un tableau contenant les jours fériés de l'année contenant les deux dates à tester.

    Il est vrai que sans connaissance du langage VB c'est un peu rébarbatif. Mais tu devrais pourvoir l'adapter à ton besoin.

    Si tu as des problèmes, fais moi signe.

    ;o)
    0
    1. oui je vois je vais faire des petits tests, et voir si je trouve plus sur cette fonction
      ce qui m'embéte ce sont les jours ouvrés :s

      merci
      0
      1. je crois qu'il y a la fonction DateDiff("d", date1,date2) qui retourne le nombre de jour entre les 2 dates.
        En double cliquant sur datediff puis en faisant F1, on doit avoir l'aide en ligne concernant cette fonction. Je ne suis pas très sur de ("d") pour le jour.
        Il doit aussi y avoir un paramètre pour les jours ouvrés.

        ;o)

        polux
        0
        1. oui en effet sa fonctionne :))
          pdt que je vous ai comme précieuse aide

          j'ai 2 date

          date de début date de fin
          27/05/2008 15/07/2008

          je voudrais savori si il est possible toujours en Vb de connaitre le nombre de jours ouvré
          entre ces 2 date

          merci polux
          0
          1. ok alors fais :

            resultat = Worksheets("Feuil1").Cells(I, 11).Value
            resultat = Left(resultat, 2)

            ;o)
            0
            1. juste pour le fun, la reponse est :

              resultat = Left(Worksheets("Feuil1").Cells(I, 11).Value, 2)
              0
            2. @zavengeroui aussi :O))
              0
          2. l'erreur généré est :
            erreur d'exécution 438
            proprété ou methode non générée par cet objet

            encore merci de vouloir m'aidé
            0
            1. zavenger

              ma macro est assez longue à vrais dire, nonje nest pas oublié de next

              quand je mes ma formule en commentraire tout tourne correctement...

              et de que je la remet,il trouve une erreur et se remet en debogage sur cette formule

              merci
              0
              1. comme tu n'as pas mis le code complet de ta macro. Difficile de dire.

                Ne serait-ca pas plutot la fin de boucle qui manque (Next)?
                0
                1. oui dsl :)

                  ma formule
                  resultat = Worksheets("Feuil1").Left(Cells(I, 11).Value, 2)

                  n'est pas traité par VB, il me sort une erreur...

                  :(

                  je suppose que c'est un simple probleme de syntaxe
                  0
                  1. quelle erreur est générée ?
                    0
                2. salut

                  cela me parrait bien. Quel est ton probleme?
                  0