Multiplier deux colonnes entre elles

lahitnihad -  
 lahitnihad -
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,

2 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
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
lahitnihad
 
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   Statut Membre Dernière intervention   160
 
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
lahitnihad
 
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
lahitnihad
 
c'est résolu ,merci beaucoup !!
0