J'ai plusieurs colonnes disons A B C D E F... , A = Acte, B= Coeff, C = Une valeur, D= Acte associé à valeur C, E = Une autre valeur F= un autre acte associé à valeur E
je souhaite que si ( A ) = "acte1" alors multiplier valeur(C) par Coeff(B) et mettre le résultat dans D
et que si
(A)= "acte2" alors multiplier valeur( D ) par Coeff(B) et mettre le résultat dans F
Ceci sur un grand nombre de colonnes et une colonne supplémentaire pour faire le total de la ligne:
Pour le moment je n'arrive pas à associer les valeurs à un acte mais j'ai rempli une colonne complète selon mon principe, voivi le code:
La résultante est que ca multiplie valeur(C) par Coeff(B) et met le résultat dans D mais pas selon les conditions souhaitées.
Si je me suis mal expliqué dites le moi je ferai le nécessaire pour mieux me faire comprendre.
Vous allez me dire qu'il existe la fonction SI(), mais je veux ceci pour une énorme quantité de données et je ne souhaite pas que les utilisateurs puissent modifier quoi que ce soit.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 15 janv. 2008 à 15:51
Bonjour
Dim i as long
For i=5 to 1000
If Range("A5").Offset(i-1,0).Value="Acte1" Then
Range("D5").Offset(i-1,0).Value=Range("C5").Offset(i-1,0).Value*Range("B5").Offset(i-1,0).Value
Range("F5").Offset(i-1,0).Value=0
...
Next i
Cette boucle risque de prendre un peu de temps, mais elle fonctionne.
Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
xeeel
Messages postés25Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 6 mars 2009 15 janv. 2008 à 12:36
Bonjour NHenry,
A chaque fois que j'ai un souci c'est toi qui me répond. Je suis persuadé que venant de ta part c'est la bonne solution. Je test avec ta manière et je te tiens au courant
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 15 janv. 2008 à 14:12
Bonjour
Sur Excel, je voulais dire Remplacer A, B, C, ... par l'utilisation de l'objet Range ou Cells :
If Range("A2").Value="Acte1" Then
Range("D2").Value=Range("C2").Value*Range("B2").Value
Range("F2").Value=0
elseIf Range("A2").Value="Acte2" Then
Range("F2").Value=Range("C2").Value*Range("B2").Value
Range("D2").Value=0
end if
Bon, tu as aussi :
Range("...").Offset(...)
Cells(y,x) : x et y de base 1
Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1