Excel vb

noobduvb -  
Polux31 Messages postés 7219 Statut Membre -
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. Polux31 Messages postés 7219 Statut Membre 1 204
     
    bonjour,

    et la question est ?

    ;o)
    0
  2. zavenger Messages postés 817 Statut Membre 161
     
    salut

    cela me parrait bien. Quel est ton probleme?
    0
  3. noobduvb
     
    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. Polux31 Messages postés 7219 Statut Membre 1 204
       
      quelle erreur est générée ?
      0
  4. zavenger Messages postés 817 Statut Membre 161
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. noobduvb
     
    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
  7. noobduvb
     
    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
  8. Polux31 Messages postés 7219 Statut Membre 1 204
     
    ok alors fais :

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

    ;o)
    0
    1. zavenger Messages postés 817 Statut Membre 161
       
      juste pour le fun, la reponse est :

      resultat = Left(Worksheets("Feuil1").Cells(I, 11).Value, 2)
      0
      1. Polux31 Messages postés 7219 Statut Membre 1 204 > zavenger Messages postés 817 Statut Membre
         
        oui aussi :O))
        0
  9. noobduvb
     
    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
  10. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  11. noobduvb
     
    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
  12. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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