For Each....Next

D

Dan L

Guest
Je souhaite appliquer en une fois la meme procedure sur differentes cellules selectionnees avec la touche CTRL.
Cette procedure ne fonctionne pas et je n'arrive pas a trouver l'erreur.Peut-etre quelqun peut-il m'aider.

La procedure est la suivante: (NbreRows est une variable)


For Each cell In Selection

Selection.Resize(Rowsize:=2).Rows(2).EntireRow. _
Resize(Rowsize:=NbreRows).Insert Shift:=xlDown


Selection.Resize(Rowsize:=2).Rows(2).EntireRow. _
Resize(Rowsize:=NbreRows).Group

Selection.Resize(Rowsize:=2).Rows(2).EntireRow.Resize(Rowsize:=nbreRows).Interior.ColorIndex = 40

ActiveCell.Offset(0, 8).Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[+" & NbreRows & "]C:R[+1]C,R[+" & NbreRows & "]C[-2]:R[+1]C[-2])"
Selection.Locked = True

ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[+" & NbreRows & "]C:R[+1]C,R[+" & NbreRows & "]C[-3]:R[+1]C[-3])"
Selection.Locked = True

ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[+" & NbreRows & "]C:R[+1]C,R[+" & NbreRows & "]C[-4]:R[+1]C[-4])"
Selection.Locked = True

ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[+" & NbreRows & "]C:R[+1]C,R[+" & NbreRows & "]C[-5]:R[+1]C[-5])"
Selection.Locked = True

Next cell
 
S

STéphane

Guest
bonjour

pour commencer :

for each cell in selection
msgbox cell.value
msgbox cell.address
next cell

ton code avec la boucle for boucle sur chaque objet d'une collection donnée, en l'occurence chaque objet cellule de la collection "plage" sélectionnée

dans ton code, tu agis toujours sur la sélection et non pas sur un de ses objets.

NB : rien ne sert de sélectionner tes cellules, tu peux simplement les activer ou changer directement leur valeur et leurs propriétés, la macro gagne alors en vitesse d'exécution.

Truc : rajoute aussi application.screenupdating=false en début de macro (à désactiver avant l'affichage d'inputbox de type 8)

bye
STéphane
 
D

Dan L

Guest
Bonjour,

Merci pour l'explication d'un programmeur chevronne, je suppose;malheureusement, je suis debutant et je ne comprend pas totalement ce que je dois changer dans ma procedure.Peut-etre peux-tu me donner plus de details?

Merci d'avance
 

Discussions similaires

Réponses
0
Affichages
264
Réponses
11
Affichages
435

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino