XL 2016 Débutant VBA, problème répétition d'une tâche

Ibeko

XLDnaute Nouveau
Bonsoir,

Je débute VBA et j'ai un petit soucis quant à une manipulation.

VB:
Sub Evaluation()

Dim score As Integer
Dim result As String

score = Range("C3").Value

    If score <= 14 Then
        result = "Inférieur à la moyenne"
        ElseIf score >= 15 Then
        result = "Supérieur ou égal à la moyenne"
        ElseIf score > 16 Then
        result = "Le meilleur"
    End If

Range("C11").Value = result
        

End Sub

Pour résumer, j'ai un tableau avec des notes qui s'étalent de la cellule C3 à C7, je souhaite y ajouter un commentaire selon les conditions If dans les cellules C11 à 15. J'ai bien réussi à exécuter la macro pour 1 cellule unique, mais j'ai du mal à voir comment répéter l'action pour les notes de C4 à C7.

Merci de votre aide.
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour Eric C t inquiet je plaisante ( bien la repartie des 500 lignes) j'adore ;)

pour le parent ben oui a aucun endroit dans le code on sait dans quel sheets se trouve C15 , C14 , B14 , etc....
ca par contre comme tu es dans un module standard c'est une erreur qui peut être fatale

pour le coup
500 ligne "je ne dois pas répondre au professeur c'est lui qui a toujours raison"
en boucle mais sans FOR (tiens médite la dessus "comment écrire 500 ligne sans boucle ")
;):p:cool:

pour être sérieux je suis pas un grand du VBA pas du tout même je suis bien trop épicurien pour m’intéresser qu'a ce seul language ;)
et puis il m'arrive de déconner aussi j'aime trop faire des expériences
 

patricktoulon

XLDnaute Barbatruc
re
comme ca tu t'embête pas le code sert juste a marquer
j'ai du les marquer (copier coller )dans les formule de mfc excel n'en reconnait qu'une avec CAR()

Capture.JPG
 

patricktoulon

XLDnaute Barbatruc
puisque tu y tiens
on agrémente ta dernière ligne
VB:
dim result#,resulString$



result = CDbl([C14] - [B14])' la result est un numerique double

Select Case result

Case Is < 0

resulString= ChrW(8664) '"Baisse ventes"'ici par le biais de "chrw" tu obtiens un STRING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Case Is > 0

resulString= ChrW(8663) '"Hausse ventes"'ici par le biais de "chrw" tu obtiens un STRING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

End Select

with [C15] :.value=resultString:.interior.color= iif(resulString= ChrW(8664),vbred,vbblue):end with
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Petite question en passant
Une formule peut-elle suffire ou doit-on sortir le VBA tout de suite sans préliminaires ? ;)
La formule ci-dessous (sauf erreur de ma part) affiche le bon commentaire, non
NB: J'en suis resté à la question#1 (celle du message#1)
=INDEX({"Inférieur à la moyenne";"Supérieur ou égal à la moyenne";"Le meilleur"};EQUIV(A1;{0;15;17}))

PS:
Il me semblait avoir lu quelque part:
une question = 1 fil de discussion
une nouvelle question= un nouveau fil de discussion
... :rolleyes:...
 

Eric C

XLDnaute Barbatruc
Re le fil
Bonsoir Staple

@patrick : C'est tou.lon euh.... c'est tout bon. Merci

Ah oui pour la nouvelle punition, j'inscris en A1 ton texte puis :
VB:
Sub Punition2()

    Range("A1").Select
    Selection.AutoFill Destination:=Range("A1:A50"), Type:=xlFillDefault
    Range("A1:A50").Select
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 069
Membres
103 453
dernier inscrit
Choupi