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 !
Je souhaiterais votre aide pour compléter (ou modifier) une formule colonne() que j'ai mise en B7:B14 pour obtenir le résultat du dessous (résultat attendu).
Il s'agit de récupérer la position des nombres A, B, C, D,E en décalant vers la droite du tableau (psition 1 à x).
Je voudrais y rajouter une MFC à 3 couleurs pour les nombres de +4 en +4 (le bleu est la couleur de fond du tableau servant pour les positions 1-5-9-13-17 etc..) ce qui fait 4 couleurs au total.
Je vous remercie et bon appétit à tous
Salut JJ1 et le forum
Je ne suis pas sûr de comprendre
Pour la MFC. Pour la cellule A25 (qui m'a servie de test) :
Condition 1
Case 1 : La formule est
Case 2 : =MOD(A25;4)=2
Format : Fond Jaune
Condition 2
Case 1 : La formule est
Case 2 : =MOD(A25;4)=3
Format : Fond Orange
Condition 3
Case 1 : La formule est
Case 2 : =MOD(A25;4)=0
Format : Fond Vert La hiérarchie n'a aucune importance, les conditions se basant sur une égalité (les conditions 1, 2 et 3 ne pouvant prendre le pas sur les autres).
Ce que je crois comprendre :
On recherche la position du nombre en colonne A(Ligne 7 à 14) dans le tableau B2:J6, en ne tenant compte que des colonnes
Je n'y suis pas arrivé par les fonctions habituelles, aussi je propose une fonction personnalisée :
Code:
Function Place(Val_Ref As Range, Plage As Range, Clt As Integer) As Variant
Dim Ad_V As Integer, X As Integer
Dim Cel As Range
Application.Volatile
Ad_V = 0
For X = 1 To Plage.Columns.Count
Set Cel = Plage.Columns(X).Find(Val_Ref)
If Not (Cel Is Nothing) Then
Ad_V = Ad_V + 1
If Ad_V = Clt Then
Place = Cells(1, Cel.Column)
Exit Function
End If
End If
Next X
Place = ""
End Function
Macro écrite sur un module général
Val_Ref As Range : cellule dont le contenu est recherchée (ex $A7)
Plage As Range : Plage recherche (ex : $B$2:$J$6)
Clt As Integer : classement de la place occupée (ex : 1)
Par exemple Pour B7, on aura :
Code:
=place($A7;$B$2:$J$6;COLONNE()-1)
Cette formule étant recopiable, en E13 on aura :
Code:
=place($A13;$B$2:$J$6;COLONNE()-1)
Ce qui nous donne la 4ème place [COLONNE(E13)-1=4] de la valeur 7 [A13] dans la plage [B2:J6]
Attention : comme ce n'est qu'un exemple, je me suis limité en variable aux entiers.
Je retourne la valeur qu'il y a en ligne 1, au lieu de retourner Ad_V, qui donnerait la position.
A+
Edit : J'ai été méchamment grillé sur ce coup. Mais à tester des formules...
Bonjour Monique, Romain, Gorfael,
J'ai le choix...(les formules de Monique et Romain sont semblables), il fallait penser à associer colonne et petite.valeur, bien vu!
Merci à Gorfael pour sa fonction personnalisée "Place".
Quant à la MFC, parfaite !
Bravo et merci.
J'ai terminé mon tableau grâce à votre aide-merci
Est-il possible de compter chaque couleur par ligne (total récap) en VBA.
J'ai mis un exemple, puis les positions réelles de mon tableau.
ps: j'ai mis le blanc en fond de tableau et non le bleu pour soulager la...vue !
Salut JJ1 et le forum
Tu ne peux pas compter les cases de couleurs directement : Tes couleurs n'appartiennent pas à la cellule, mais à la MFC de la cellule.
Mais tu as plusieurs possibilités par formules ou macro, en t'appuyant sur les nombres, puisque ce sont eux qui déclenche la MFC.
A+
La formule fonctionne parfaitement pour le comptage.
J'ai du modifier, pour chaque ligne, dans la formule:
=SOMMEPROD((MOD($B10:$E10;4)=MOD(COLONNES($G10:G10);4))*1)
le $E10 (ici) par la lettre de la colonne où s'arrête le dernier nombre sur la ligne (sinon j'ai une erreur #valeur)
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.