Multiplier deux colonnes entre elles
lahitnihad
-
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,
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
-
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
-
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,
-
-
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
parDim 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...