BOUCLE DANS UNE SELECTION

  • Initiateur de la discussion IFF
  • Date de début
I

IFF

Guest
Bonsoir à tous, à ceux qui donnent conseils et à ceux qui apprennent.

Pfff; c'est quand que je change de camp?

Mon soucis et de reporter en colonne E la valeur de la colonne A
d'une sélection, ligne par ligne.

Pour tenter d'être plus clair
(Heu! C'est pas mon truc! J'vais faire un effort!!!)

Je viens de passer mon P.M. à chercher comment récupérer la valeur de la cellule Cells(i, 1) de la multiplier par la Cells(i, 2), et d'en écrire le résultat en Cells(i, 4)

Et ceci en faisant une boucle dans la plage sélectionnée,
et uniquement là!

J'ai fouillé partout dans l'aide VBA.
Hormis compter les lignes et les colonnes….. Bof

Je me suis dit qu'il y aurait bien une bonne âme ici pour m'aider. Non?

Si,si…..

Au plaisir de vous dire "Merci?
et de ne pas me coucher avec des cernes comme des sacoches.

J4EN PEUX PLUS. Help§

IFFIC
 
Z

Zon

Guest
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é
 
I

IFF

Guest
Vingt Dieux!!! J'ai du boulot pour demain.

Merci pour ton aide.

Je rentre du festival Interceltique.

Promis, demain (Enfin, quand les coqs auront réussi leur lourde tâche)

Je regarde ton truc qui me semble plein d'enseignement.

C'est sympa de ta part.

Bon petit matin à toi.

Un peu trop pété pour pour analyser dans l'instant.
Mais parole de celte, au saut du lit vers 15h je m'y attelle....

Et même que je vais fouiner du coté de tes liens.

A + si je ne pige pas

IFFIC
 

Discussions similaires

Statistiques des forums

Discussions
312 380
Messages
2 087 800
Membres
103 664
dernier inscrit
wolvi71