Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1857 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  macro boucle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

macro boucle

n°1013966
tibot
Posté le 15-03-2005 à 22:09:45  profilanswer
 

bonsoir,
 
En B2 et E2 des chiffre que je multiplie en f2
 
Je veux une macro qui me fasse ce calcul puis passe à la ligne en dessus.
 
J'essaie :

Code :
  1. Range("b2" ).Select
  2. While ActiveCell.Value <> ""
  3. Range("f2" ).Select
  4. ActiveCell.Offset(1, 0).Select
  5. ActiveCell.FormulaR1C1 = "=RC[-4]*RC[-1]"
  6. Wend


 
Mais la macro ne s'arrete jamais et navigue entre F2 et F3  :pfff:  
 
Une idée ? :hello:


Message édité par tibot le 15-03-2005 à 22:49:09
mood
Publicité
Posté le 15-03-2005 à 22:09:45  profilanswer
 

n°1013997
galopin01
Posté le 15-03-2005 à 22:47:11  profilanswer
 

bonsoir :
Ta boucle while se réfère indéfiniment à activeCell (soit F2)
A+

n°1013999
galopin01
Posté le 15-03-2005 à 22:48:52  profilanswer
 

Tu triches ! faut pas changer les règles du jeu en cours de partie !

n°1014000
tibot
Posté le 15-03-2005 à 22:48:53  profilanswer
 

oui mais F2 c'est pour lui indiquer où l'ont veux le résultat de la multiplication ?

n°1014001
galopin01
Posté le 15-03-2005 à 22:49:46  profilanswer
 

waiting...

n°1014007
galopin01
Posté le 15-03-2005 à 22:55:05  profilanswer
 

Re:
Faudrait savoir sur quoi s'exerce ta boucle si c'est sur la colonne B ou sur F
Si c'est sur B
 
Range("B2" ).Select  
While ActiveCell.Value <> ""  
Range("F2" ).FormulaR1C1 = "=RC[-4]*RC[-1]"
ActiveCell.Offset(1, 0).Select  
Wend
 
Enfin quelque chose comme ça l'idée est bonne ta formule je sais pas...
En d'autre terme il ne faut pas déplacer ta sélection de la colonne B.
A+


Message édité par galopin01 le 15-03-2005 à 22:56:09
n°1014013
tibot
Posté le 15-03-2005 à 23:05:35  profilanswer
 

la selection descend bien dans la colonne B et s'arrete lorsqu'elle est vide mais les calculs ne se font pas en F (juste en F2)
 
il faut la boucle aussi pour le calcul...

n°1014025
tibot
Posté le 15-03-2005 à 23:31:18  profilanswer
 

soluce :  
 
i= 2
While Cells(i, 2) <> ""
Cells(i, 6) = Cells(i, 2) * Cells(i, 5)
i = i + 1
Wend
 
 
alalala i= 2
 
dsl  

n°1014040
galopin01
Posté le 15-03-2005 à 23:53:02  profilanswer
 

Of course,  
mais je ne me suis pas intéressé à la sortie, juste à la boucle...  
(car je ne sentais pas bien le " ).FormulaR1C1 = "=RC[-4]*RC[-1]"
On pourrait rajouter que ta solution finale est doublement bonne car elle supprime le offset (toujours préférable : gain de temps non négligeable sur de grandes boucles)
A+


Message édité par galopin01 le 15-03-2005 à 23:58:28

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  macro boucle

 

Sujets relatifs
Afficher un message d'attente pendant l'exécution d'une macroProblème sur une boucle
[VB] Macro complémentaire sous ExcelFaire une macro sur excel pour transformer Fichier Word
creation d'un bouton pour executer une macro outlookexcel aide macro pr comparer des lignes
executer une macro en commande dosAidez-moi Macro Excel comparer 2 colonnes
A l'aide SVP Macro pour comparer 2 plage de valeursmacro excel boucle sur les colonnes
Plus de sujets relatifs à : macro boucle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR