Besoin d'aide sous VBA pour excell

Résolu
isis1be -  
JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   -
Salu à tous

voila je doit réaliser un code sous VBA qui doit envoyer sur une attestation sous excell des résultat scolaire mais malheureusement je bloque sur le code pour indiquer:
note satisfaction entre 50 et 60 %
distinction entre 60 et 70 % ect .. jusqu'a la plus grande distinction
si qlq pouvait éclairer ma bougie se serais génial car il fait noir;-))

4 réponses

  1. enzito Messages postés 52 Statut Membre 13
     
    Aurions-nous l'honneur de pouvoir jeter un petit coup d'oeil à ton code??
    0
    1. isis1be Messages postés 45 Statut Membre 1
       
      pour ce qui est du code si la personne est en dessous de 50 ou supérieur à 50 c'est ok en voici mon code mais pour ce que je demande je ne sais même pas par ou commencé mais dans l'ensemble toute les données sont ici.
      Merçi pour le coup de main.

      End If

      If points.Value < 50 Then
      Sheets("attestation").Cells(9, 1).Formula = "à échoué"
      Range("A9").Select
      Selection.Font.Bold = True

      End If
      If points.Value > 50 Then
      Sheets("attestation").Cells(9, 1).Formula = "à reussi"
      Range("A9").Select
      Selection.Font.Bold = True
      0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    bonsoir,

    tiens-tu absolument à passer par VBA?
    tu peux le faire directement dans excel avec la fonction recherchev.

    si tu avais renseigné ton profil je t'aurais envoyé un classeur xls sur ta messagerie.

    en attendant, mais ça va être un peu lourd, prend une feuille vierge, saisis le tableau suivant en I3:J9 :

    0% peut mieux faire
    50% c'est pas mal
    60% c'est bien
    70% c'est très bien
    80% c'est extra
    90% c'est super extra
    100% ouaouhhh!!!


    ensuite tu te fais une série par pas de 0,01 en partant de 0% jusqu'à 100% en B5:B105.

    pour finir, tu met en C5 la formule =RECHERCHEV(B5;$I$3:$J$9;2;VRAI) et tu recopies vers le bas jusqu'en C105.

    tu regardes le résultat et tu me dis si ça correspond à ce que tu veux faire.

    A+
    0
  3. isis1be Messages postés 45 Statut Membre 1
     
    Salut JvDo
    merci pour ta réponse mais je ne doit pas aller aussi loin, et oui je doit passer par VBA car c'est à partir d'une userform que je doit pouvoir encoder des noms et des résultat et à partir de là completer l'attestation.
    La seule chose que je doit faire c'est aller de 50% à 100% par pallier de 10 et faire en sorte que si les points encoder dans la userform sont entre 50 et 60% il écrit sur l'attestation "satisfaction".
    voiloa j'èspère que c'est assez clair.
    p.s: j'ai renseigner mon mail dans mon profil
    0
  4. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour,

    si tu dois passer par un userform, c'est encore plus simple, tu n'as pas besoin de code :
    dans ton userform, tu met une listbox POINTS que tu adosses à la zone I3:J7 de ta feuille de calcul (celle où se trouve l'attestation) et tu lui mets les propriétés suivantes :

    points.BoundColumn = 2 'tu renvoies la 2ème colonne en A9
    points.ColumnCount = 1 'tu n'affiche qu'une colonne
    points.Columnhead = TRUE 'I2:J2 sert d'en-tête
    points.Columnwidth = 59 pt 'là, rien à dire
    points.ControlSource = "a9" ' la colonne 2 se mettra en A9
    points.RowSource = "i3:j7" 'tableau source des données
    points.textcolumn = 1 'c'est la colonne 1 qui sera retournée par points.text

    la zone I2:J7 ressemble à ça :
    Résultat Avis] 50 à 60% ] c'est bien
    ] 60 à 70% ] c'est très bien
    ] 70 à 80% ] c'est extra
    ] 80 à 90% ] c'est super extra
    ] 90 à 100% ] ouaouhhh!!!

    Remarque : si tu mets les autres champs de ton userform en controlsource directement sur ton attestation, tu n'as plus besoin de code sauf pour ton bouton "imprime" (je suppose qu'il y en a un sur ton userform)

    A+
    0