Aide formule VBA

Résolu
Bonjour,

Je dois optimiser une macro déja existante. J'ai récupéré deux fragments de code VBA ( je sais que ce n'est pa forcément trés indiqué ) que j'essaie de comprendre.
L'un de vous peut-il m'aider à traduire cette ligne en franÇais correct ?

Dim Number_employees As Byte
Number_employees = 0
While Len(Range("A103").Offset(Number_employees, 0).Value) <> 0
Number_employees = Number_employees + 1
Wend

Dim m As Byte
m = Number_employees
While Range("A103").Offset(m, 0).Value <> "Legend"
Range("A103:G103").Offset(m, 0).Interior.ColorIndex = 0
m = m + 1
Wend

Merci d'avance et bonne journée.

2 réponses

  1. Merci pour ton aide rapide une fois de plus.
    Bonne journée à toi
    0
    1. Contributeur
      Bonjour,

      Le code que tu as pompé est loin d'^tre idéal....

      grossomodo
      Number_employees = 0
      While Len(Range("A103").Offset(Number_employees, 0).Value) <> 0
      Number_employees = Number_employees + 1
      Wend

      Le nombre d'employés est inférieur à 256 (Dim Number_employees As Byte )tant que la longueur du mot est différente de Zéro:
      Ajouter 1 au nombre d'employé

      Le deuxième fait pareil avec le test la celule est différente de " légend"
      mais
      m= ajoute 1 à m (au départ M=nbre d'employés)
      et met le numéro de la couleur à 0 (je vérifie: ca me semble bizarre) --->
      le cellules sont colorées au départ

      Si par exemple tu as 240 employés et plus de 15 "légend" ca plante pour dépassament de capacité ( m déclaré en Byte)

      concluusion: Très mauvais code
       Michel
      0