Salut,
La propriété cells est faite pour cela, quand on écrit directement Cells(1,1) est sous entendu sheets("Lenomdelafeuille").cells(1,1). On peut travailler de même avec une plage de cellules ou ici avec la selection
1 er cas tu sélectionnes que 2 colonnes:
Sub DeuxColonnes()
Dim Plage As Range, I
Set Plage = Selection
With Plage
If .Rows.Count <> 2 Or .Columns.Count <> 2 Then Exit Sub
For I = 1 To .Rows.Count
.Cells(I, 1).Offset(0, 3) = .Cells(I, 1) * .Cells(I, 2)
Next I
End With
End Sub
2 eme cas tu sélectionnes 4 colonnes:
Sub QuatreColonnes()
Dim Plage As Range, I
Set Plage = Selection
With Plage
If .Rows.Count <> 4 Or .Columns.Count <>4 Then Exit Sub
For I = 1 To .Rows.Count
.Cells(I, 4) = .Cells(I, 1) * .Cells(I, 2)
Next I
End With
End Sub
3 eme Par tableau VBA la plus rapide en éxécution si tu as pas mal de lignes: séléctionnes juste 2 colonnes
Sub ParTablo()
Dim Plage As Range, I, T, Temp()
With Selection
If .Columns.Count <> 2 Then Exit Sub
T = .Value
ReDim Temp(1 To .Rows.Count, 1 To 1)
For I = 1 To UBound(T)
Temp(I, 1) = T(I, 1) * T(I, 2)
Next I
.Offset(0, 3).Resize(UBound(Temp), 1) = Temp
End With
End Sub
A+++
Lien supprimé
Lien supprimé