michele_ | Bonjour,
Voilà, je débute dans le VBA et mon fichier est tellement lourd que je ne peux pas faire comme d'habitude.
Donc, voilà ce que je voudrais faire ...
Pour comprendre mieux, voici un bout de mon code :
Code :
- Range("C9" ).Select
- ActiveCell.FormulaR1C1 = _
- "=IF(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))="""",""-"",IF(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))=1,IF(LOOKUP(2,'TCD retravaillé'!R[-4],'TCD retravaillé'!R4)=R4C,RC1&R5C&"" - ""&TEXT(R6C,""jj/mm/aa"" )&"" - ""&TEXT(R7C,""jj/mm/aa"" ),""-"" ),IF(AND(LOOKUP(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))+1,'TCD retravaillé'!R[-4],'TCD retravaillé'!R4)=R4C,LOOKUP(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))-1,'TCD retravaillé'!R[-4],'TCD retravaillé'!R4)<>R2C),RC1&R5C&"" - ""&TEXT(R6C,""jj/mm/aa"" )&"" - ""&TEXT(R7C,""jj/mm/aa"" ),""-"" )))"
|
Mais au lieu de sélectionner une seule cellule, je voudrais pouvoir sélectionner Range("C9:Cx" ).Select
x étant le numéro de la dernière ligne.
Sachant que pour trouver la dernière ligne j'utilise la colonne B
d'habitude, quand je veux mettre la même formule de cette façon, voilà ce que je faisais :
Code :
- Range("C9" ).Select
- ActiveCell.FormulaR1C1 = _
- "=IF(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))="""",""-"",IF(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))=1,IF(LOOKUP(2,'TCD retravaillé'!R[-4],'TCD retravaillé'!R4)=R4C,RC1&R5C&"" - ""&TEXT(R6C,""jj/mm/aa"" )&"" - ""&TEXT(R7C,""jj/mm/aa"" ),""-"" ),IF(AND(LOOKUP(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))+1,'TCD retravaillé'!R[-4],'TCD retravaillé'!R4)=R4C,LOOKUP(INDEX(TCDretravaille,MATCH(RC2,'TCD retravaillé'!C1,0),MATCH(PB!R3C,'TCD retravaillé'!R4,0))-1,'TCD retravaillé'!R[-4],'TCD retravaillé'!R4)<>R2C),RC1&R5C&"" - ""&TEXT(R6C,""jj/mm/aa"" )&"" - ""&TEXT(R7C,""jj/mm/aa"" ),""-"" )))"
- Range("C9" ).Select
- Selection.Copy
- Range("B9" ).Select
- Selection.End(xlDown).Select
- ActiveCell.Offset(0, 1).Range("A1" ).Select
- Range(Selection, Selection.End(xlUp)).Select
- ActiveSheet.Paste
|
Sauf que j'ai tellement de lignes que ça plante Donc, j'aimerais faire en sorte que tout soit porté sur le code, et non Excel ...
Merci de votre aide Message édité par michele_ le 27-09-2013 à 20:07:31
|