Besoin d'aide sous VBA pour excell

Résolu
isis1be -  
JvDo Messages postés 1978 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

enzito Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   13
 
Aurions-nous l'honneur de pouvoir jeter un petit coup d'oeil à ton code??
0
isis1be Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   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
JvDo Messages postés 1978 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
isis1be Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   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
JvDo Messages postés 1978 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