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
243
Réponses
11
Affichages
396

Statistiques des forums

Discussions
311 716
Messages
2 081 848
Membres
101 826
dernier inscrit
dododu89