cpsfg
Messages postés6Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention29 juin 2006
-
28 juin 2006 à 17:54
petigeni
Messages postés34Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention29 septembre 2006
-
29 juin 2006 à 11:57
Bonjour,
Petit besoin de conseil...J'ai un fichier Excel que j'alimente de nouvelles données toutes les semaines par des copier-coller. Je voudrais que pour chaque ligne, une macro exécute une formule automatiquement dans une même colonne jusqu'à la dernière ligne copiée. Pour être précis, j'ai une colonne de date, et je veux que la macro éxecute la formule Mois et Année à la fin du tableau. Voici ce que j'ai écrit :
Sub Calcul_Auto()
For i = 1 To 10
Worksheets("Feuil1").Cells(i, 24).Select
ActiveCell.FormulaR1C1 = "=IF(RC[-21]<>"""",MONTH(RC[-21],"""")"
Next
End Sub
Problème, elle ne s'éxecute pas automatiquement, et surtout elle ne s'arrête pas à la dernière ligne remplie. Merci à ceux qui ont une solution....
petigeni
Messages postés34Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention29 septembre 2006 29 juin 2006 à 08:05
Salut!!!
Il m'étais arrivé la meme chose a moi, quand je copié des formules dans mes cellules elles ne s'executaient pas, ce qui dérange pas mal!!!!
A la place d'utiliser " ActiveCell.FormulaR1C1 " utilise plutot "ActiveCell.FormulaLocal "
C'est pas trés "pratique " de parcourirs toutes t'es cellules comme cela, tu devrait plutot faire une selection et la parcourirs par la suite, voila ce que je te propose :
'variable pour stocker la plage de cellule pleine
dim plageCellulePleine as Range
'affectation des cellules pleine a la plage
set plageCellulePleine = range(celluleDepart:celluleArrivé).specialcells(xlCellTypeFormulas)
'ex range(A1:B3) : tu récupéreras toutes les cellules avec des formules
petigeni
Messages postés34Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention29 septembre 2006 29 juin 2006 à 11:57
Dans mon précédent message j'ai fait un petit oublie,et cela se trouve je t'es fait trompé.....
En fait tu dois mettre des guillements pour spécifié la plage des cellules (moi je l'avais pas fait)
exemple :
range("A3:B4").specialcells(xlCellTypeFormulas)
Cela pourrait venir de la si tu m'a suivi sur mon erreur.
Sinon vérifie que tu as bien Declarer plageCellulePleine de type Range
dim plageCellulePleine as Range
sinon je te donne l'adresse d'un petit pdf qui explique des choses intéréssante sur excel et vba, c'est cela que j'utilise, car je me suis mis y'a peu de temps a vba excel.