Problème de conception

  • Initiateur de la discussion Initiateur de la discussion iso29
  • Date de début Date de début

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 !

iso29

XLDnaute Occasionnel
Bonjour à tous,

Dans le tableau ci-joint, les valeurs se trouvant dans les colonnes AK à AP, vont de 1 à 10.
Je souhaiterais affecter la valeur unique de 5 pour toute valeur égale ou supérieur à 6 (6 à 10 donc ici), pour effectuer un calcul.Les valeurs de 1 à 5 ne changeant pas, et gardent leur valeur.

Soit par exemple: 1-5-8-3-9-10
La valeur unique de 5 pour effectuer ce calcul pour lequel je souhaite (retrancher la nouvelle valeur, soit d'après l'exemple ci dessus: (5-1)+(5-5)+(5-5)+(5-3)+(5-5)+(5-5)=6.
Les valeurs de 8,9,10 deviennent 5 dans ce calcul. Le résultat ne peut être négatif.
Merci de me donner la procédure pour la créer, et merci aussi pour votre aide qui me fait progresser.

Iso
 

Pièces jointes

Re : Problème de conception

Salut,

Je suppose que tes valeurs sont rentré par un utilisateur dans ces cellules donc tu ne peut pas utilisé une formule ( ce serait trop simple). Donc voici un petit exemple en VBA j'ai testé sur la premier ligne..

Explication :
dim m_cell : je déclare ma variable

Range(Range("AK5"), Range("AP65535").End(xlUp)).Select :
je selectionne la plage de valeur qui m'intéresse :
-Range("AK5") debut de la plage
-Range("AP65535").End(xlUp) : va à la premier cellule vers le haut contenant des données.


For Each m_cell In Selection
Next

Boucle de test.


Sub test()
Dim m_cell
Range(Range("AK5"), Range("AP65535").End(xlUp)).Select
For Each m_cell In Selection
If m_cell.Value > 5 Then m_cell.Value = 5
Next
End Sub

A+
 

Pièces jointes

Re : Problème de conception

re,
Bonjour WILFRIED,

le premier fichier faisait les sommes par ligne celui ci pour toute la plage

Jocelyn
 

Pièces jointes

Re : Problème de conception

Re- le forum,

Merci WILFRIED et merci Jocelyn pour vos propositions.

Pour l'heure le VBA, c'ezst un peu tôt, déjà que j'ai du mal avec Excel.
Pour l'heure la formule de Jocelyn, me convient parfaitement.

Par contre, je n'arrive pas à modifier la formule pour un second calcul ou la valeur 10 devient 9 (les autres gardent leur valeur) et on additionne toutes les cellules. La première ligne en AR je dois avoir 39 et j'obtiens 35, la seconde je dois avoir 30 et j'obtiens 36.

J'ai changé la valeur 5 se trouvant entre parenthèse par la valeur 9. Qu'est ce que j'aurais du faire pour avoir le bon résultat?

Merci à vous
 
Re : Problème de conception

re,

Hum tu peux me donner le détail du calcul que doit faire excel avec la valeur neuf et les donnée de la ligne 5 qui sont 4-8-8-10-5-5

si tu dois faire (9-4)+(9-8)+(9-8)+(9-9)+(9-5)+(9-5) cela donne 15 et non 39

si cen'est pas ca le détail du calcul STP

Jocelyn
 
Re : Problème de conception

Re-le forum,
Re Jocelyn,

Les valeurs 10 sont remplacés par 9, les autres ne changent pas et on additionne toutes les cellules comprises entre AK et AP.

Il ne s'agit pas de rempalcer la valeur qui était 5 précedemment par 9.

Voilà!

Merci pour votre dévouement

Iso
 
Re : Problème de conception

Bonjour le fil et Wilfried,

Une explication simple, mais vraiment simple...

Sommeprod((ta plage=ton truc)*(une autre plage=ton machin)*(encore une autre plage=ton bidule)), c'est en fait du SI(ET à rallonge.

Si, à la place de * tu mets + , c'est l'équivalent de SI(OU....

mais cette fonction peut faire d'autres choses encore.... et sans parler de cette fonction en matricielle, où là je perds un peu les pédales.

Bonne fin de journée.

Jean-Pierre
 
Re : Problème de conception

Bonjour

je pense que l'on peut faire simplement,

On ne prend pas en compte les valeur >= 5 car on ajoute à chaque fois (5-5 donc 0) et pour additionner les valeur < 5 en les soustrayant à 5 on peut faire:

(le nombre de valeur <5) * 5 - somme des valeur < 5

cela fait donc la formule:

=nb.si(AK5:AK13;"<5)*5-SOMME.SI(AK5:AK13;"<5";AK5:AK13)

pour la colonne AK cela fait 4

=(5-4)+(5-5)+(5-5)+(5-5)+(5-5)+(5-5)+(5-4)+(5-5)+(5-3) = 4
4 8 8 6 10 6 4 5 3
 
Re : Problème de conception

Salut à tous et toutes,


merci pour ta précision, si j'avait su cela il y as quelque années j'aurai gagné tu temps et du triturage de cerveau j'avait imbriquer je ne sais plus combien de si ou et autre test... resultat un fichier xls de plus de 6Mo et des temps d'ouverture trés trés long... bon j'ai solutionné le PB avec des macro evenementielle..

A+
 
- 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
4
Affichages
330
Réponses
13
Affichages
850
Retour