Multiplier deux colonnes entre elles

Fermé
lahitnihad - 28 juil. 2016 à 15:03
 lahitnihad - 28 juil. 2016 à 20:18
Bonjour,

je suis débutante en vba, je veux créer une macro qui multiplie deux plages entre elles et qui affecte les résultats dans une autre plage (3eme plage). Sachant que la première plage existe dans la feuille 1 , et la deuxième et la 3eme plage existent dans la feuille 2 .

clairement,je veux réaliser ceci:
feuille 1:

A2:
300
400
200

feuille 2:

B5:
2
3
6
C5:
=300*2
=400*3
=200*6

j'ai essayée d'ajouter le lien vers mon fichier excel ,mais je sais pas pourquoi il ne fonctionne pas bien

Pouvez vous m'aider s'il veut plait

cordialement,
A voir également:

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
28 juil. 2016 à 15:21
Bonjour Nathalihid, bonjour le forum,

Essaie comme ça :
Dim DL As Byte

DL = Sheets(1).Range("A" & Application.Rows.Count).End(xlUp).Row
For I = 2 to DL
     Sheets(2).Cells(I + 3, 3).Value Sheets(1).Cells(I, 1)*Sheets(2).Cells(I + 3, 2)
Next I

0
Bonjour,
j'ai essayée votre code,mais lors de la compilation,je retrouve l'erreur suivante au niveau de la ligne 2:
DL = Sheets(1).Range("A" & Application.Rows.Count).End(xlUp).Row 'erreur incompatibilité de type
j'ai essayée de remplacer cette ligne par la ligne suivante,mais ça marche pas:
DL = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row

qu'est ce que je peux faire?

cordialement,
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
28 juil. 2016 à 19:01
Re,

Par rapport à ton exemple, j'ai déclaré la variable DL de type Byte (donc limitée à la ligne 265). Si la dernière ligne de la colonne A dépasse la ligne 265 il faut la déclarer de type Integer en remplaçant la ligne :
Dim DL As Byte

par
Dim DL As Integer

et si tu dépasses la ligne 327 767 alors déclare la de type Long avec :
Dim DL As Long


Mais, pour éviter de perdre du temps, prend l'habitude de joindre un fichier exemple ou à détailler un peu plus tes explications...
0
j'ai essayée les 3 possibilités,mais ça marche pas encore ,je sais pas pourquoi!.Maintenant je retrouve l'erreur suivante au niveau de cette ligne
Sheets(2).Cells(I + 3, 3).Value Sheets(1).Cells(I, 1)*Sheets(2).Cells(I + 3, 2)

'propriété ou méthode non gérée par cet objet
0
c'est résolu ,merci beaucoup !!
0