Autres Afficher résultat avec boucle VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

KRUG WOO

XLDnaute Nouveau
Bonjour les amis,
Encore perdu avec l'outil boucle, je cherche à trouver le meilleur moyen rapide pour avoir un Résultat : "Admis" si note d’évaluation (note/100) est >=55.
le problème c'est que je peux pas écrire la formule: If Range("e8").Value >= 55 Then Range("g8").Value = "ADMIS" jusqu'à 250ligne ou 250 employés.
Aussi j'espère que je respecte les chartes 😀
Super merci les amis 👍
 

Pièces jointes

Bonjour les amis,
Encore perdu avec l'outil boucle, je cherche à trouver le meilleur moyen rapide pour avoir un Résultat : "Admis" si note d’évaluation (note/100) est >=55.
le problème c'est que je peux pas écrire la formule: If Range("e8").Value >= 55 Then Range("g8").Value = "ADMIS" jusqu'à 250ligne ou 250 employés.
Aussi j'espère que je respecte les chartes 😀
Super merci les amis 👍
Bonjour,
Y a t'il quelque chose qui empêche cette formule en G5
VB:
=SI(E5>=55;"Admis";"")
Et recopier vers le bas
 
Bonjour Krug Woo,
un essai en PJ avec une boucle For :
VB:
Sub resultat()
Application.ScreenUpdating = False
For L = 5 To Cells(Cells.Rows.Count, "B").End(xlUp).Row
    If Cells(L, "E") >= 55 Then Cells(L, "G") = "ADMIS"
Next L
End Sub

Il existe d'autres méthode plus rapide, mais plus complexe, au cas où cette méthode se révélerait trop lente.
 

Pièces jointes

Merci Jacky67,
Non, pas de soucis avec les formules, sauf qu'avec VBA c'est mieux en utilisation une boucle, l'enregistrement allant jusqu'à 100000 écritures, les recopier c'est pas évident.
Re..
On écrit la formule une seule fois
On sélectionne la cellule contenant cette formule
On double clique sur le coin inférieur droit jusqu'à obtenir la grosse croix
Et la formule est recopier sur tout le tableau
En vba
VB:
Sub resultat()
    For Each c In Range("E5:e" & Cells(Rows.Count, "e").End(xlUp).Row)
        If c >= 55 Then c.Offset(, 2) = IIf(c.Offset(, -1) = "Homme", "Admis", "Admise")
    Next
End Sub
 
Bonjour @KRUG WOO

Edit Bonjour Jacky et Sylvain

Je te propose ce fichier

Tu as le choix entre la formule ou la version VBA avec boucle

Merci de ton retour
Bonjour Phil69970, bonjour Sylvanu,
Merci beaucoup les amis, ça marche à merveille, surtout en rajoutant le vide par "Recalé".
Je demande trop mais si on ajoute le formule exemple: ligne 11 "Recaler" et on ajoute vous devez completer vos points de 55 pour être admis.
Enfin, si c'est possible 😀
 
Bonjour,
Ouaouuuuu, c'est fort 👍 , ça marche
Merci Phil69970
Bonjour,
@KRUG WOO

Voici la V2 comme demandé et toujours par formule et VBA 😉
Bonsoir Phil69970,
Je ne sais plus si je devrais écrire dans une nouvelle discussion ou nouveau message, en fait c'est en rapport avec ta formule, si je dois utiliser un userform pour la saisie, avec ton boucle je n'arrive plus à cadrer le range et cells 😭 , c'est vraiment la casse têt. J'utilise Range("...........").ListObject.ListRows.Add.Range, mais 0 résultat. J'aimerai continuer avec tes formules si possible
Merci, je demande trop 😀
 

Pièces jointes

@KRUG WOO

1700842685059.png


De plus , le fichier que tu as mis dans le post #10 ne correspond en rien avec ce bout de code qui concerne des tableaux structurés !!!
J'utilise Range("...........").ListObject.ListRows.Add.Range,

Bonne lecture
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
608
Retour