Accueil > Forum > > > > Excel VB VBA multiplier des colonnes selon condition d'une autre colonne
Excel VB VBA multiplier des colonnes selon condition d'une autre colonne
mardi 15 janvier 2008 à 12:01:27 |
Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

xeeel
|
Bonjour,
Je souhaite faire ceci:
[ Lien ]
Explication:
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:
Public Sub Calcul()
Application.Calculation = xlCalculationAutomatic Range("L5").FormulaR1C1 = "=RC[-2]*RC[-1]" Range("L5").AutoFill Destination:=Range("L5", Range("J5").End(xlDown).Offset(0, 2)), Type:=xlFillDefault End Sub
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.
Merci pour votre aide,
Alexis
|
|
mardi 15 janvier 2008 à 12:23:17 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

NHenry
|
Bonjour Et un simple If : If A="Acte1" Then D=C*B elseif A="Acte2" Then F=C*B
End if Ne te convient pas, remplace A, B, C, D et F par les cases correspondantes. Dans Word, j'Excel. (juste pour la citation) VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
mardi 15 janvier 2008 à 12:36:45 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

xeeel
|
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
|
|
mardi 15 janvier 2008 à 12:56:02 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

xeeel
|
ca ne marche pas.
La syntaxe complète serait dans mon cas:
Public Sub Calcul()
If I = "K" Then L = K * J ElseIf I = "CS" Then N = M * J
End If
End Sub
Mais étant donné que je ne me sers jamais de IF, j'ai du rater un truc...
|
|
mardi 15 janvier 2008 à 12:57:47 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

xeeel
|
Genre déclarer les variables?
|
|
mardi 15 janvier 2008 à 14:12:19 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

NHenry
|
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 Mon site
|
|
mardi 15 janvier 2008 à 15:11:07 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

xeeel
|
Ton code marche pour la première ligne pas pour toutes les colonnes..
Je vais test un truc, sinon si tu sais selectionner les colonnes pour que les cellules se multiplient entre elles?
|
|
mardi 15 janvier 2008 à 15:29:12 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

NHenry
|
Bonjour Comme je te l'ais dis, utilise Range("...").Offset(...) pour changer de cellule par rapport à une autre (regarde dans l'aide VBA). Dans Word, j'Excel. (juste pour la citation) VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
mardi 15 janvier 2008 à 15:33:20 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

xeeel
|
tu peux m'expliquer le .offset
car je l'ai testé mais bon...
Désolé de t'importuner de la sorte mais quand ca veut pas ca veut pas.
Je veux juste qui me fasse le calcul de ligne 5 a 1000 :
If Range("A5:1000").Value="Acte1" Then Range("D5:1000").Value=Range("C5:1000").Value*Range("B5:1000").Value Range("F5:1000").Value=0
Pour sélectionner ce n'est pas comme ca? plutot rows ou colomns("D")....?
Merci
|
|
mardi 15 janvier 2008 à 15:51:38 |
Re : Excel VB VBA multiplier des colonnes selon condition d'une autre colonne

NHenry
|
Réponse acceptée !
Bonjour Dim i as long For i=5 to 1000 If Range("A5").Offset(i-1,0).Value="Acte1" Then Range("D 5").Offset(i-1,0).Value=Range("C 5").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 Mon site
|
|
Cette discussion est classée dans : valeur, colonne, colonnes, multiplier, acte
Répondre à ce message
Sujets en rapport avec ce message
Listview => recuperer la valeur d'une colonne ?? [ par jcharles ]
J'ai une listview avec 6 colonnes.J'arrive a recuperer sur une ligne sélectionné, la valeur du champ de la premiere colonne:Var1= ListView1.SelectedIt
Pb Excel : extration de la dernière valeur d'une colonne [ par enola ]
Bonjour,Comment extraire la dernière valeur d'une colonne sachant que cette colonne est évolutive pour l'incorporer dans une formule situé dans une au
Colonnes du DATAGRID en couleur [ par pepeveve ]
J'aimerai pouvoir inserer une couleur de font dans les differentes colonnes de mon datagridpar exemple:1ere colonne en vert2eme colonne en rougej'ai
Textbox à plusieur colonne??? [ par marzocchi ]
Bonjour,je voudrais savoir comment faire un textbox ou listbox, peu importe lequel qui me permettrait d'afficher sur 2 colonnes a l'intérieur de la fe
Textbox à plusieur colonne??? [ par marzocchi ]
Bonjour,je voudrais savoir comment faire un textbox ou listbox, peu importe lequel qui me permettrait d'afficher sur 2 colonnes a l'intérieur de la fe
Sélection de colonnes sous Excell [ par Arnoconection ]
Bonjour à tous!je souhaite coller un certain nombre de cellules dans une feuille, mais à la suite des données. Je récupère le numéro de la première co
colonne ds listview [ par joflo ]
si quelqu'un peut m'aider mercij'utilise une listview avec entête de colonne, comment empécher le redimentionnement des colonnes avec la souri? tout
Recuperer valeur dans combo a 2 colonnes [ par pepe013 ]
pépéSalut !J'ai un combo a deux colonnes qui contient le nom et le prenom d'une personne.quand je selection une personne dans mon combo. La valeur du
LISTWIEW ET SELECTION [ par FloFlo78 ]
Bonjour,j'utilise la listview mon mode de sélection se fait par ligne mais je n'arrive pas à récupérer la valeur de la 2ème colonne de la ligne sélect
ADOX - problème valeur par defaut + postion de la colonne [ par luna1704 ]
Bonjour !je sais qu'en DAO il existé une propriétée "ordinalposition" qui permettait de savoir la position de la colonne dans la table en existe t t i
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|