extension d'un formule via VBA

extension d'un formule via VBA - VB/VBA/VBS - Programmation

Marsh Posté le 02-06-2006 à 09:22:34    

salut les gars
 
 
j'ai un pb plus simple que l'autre!
 
voila mon code, il insert des lignes puis etend la formule des cellules sous la ligne insérée.
le pb ce que ca bug! je sais pas pourquoi puisque je me suis basé sur une macro..
 
If lig_insertion >= 2 And lig_insertion <= nb_item_de_base + 1 Then
 
    ligAlpha = CStr(lig_insertion + 1 + (nb_item_de_base * i))
    ligAlphaDest = CStr(lig_insertion + (nb_item_de_base * i))
    plage = "A" + ligAlpha + ":" + "H" + ligAlpha
    plage_dest = "A" + ligAlphaDest + ":" + "H" + ligAlphaDest
    Range(plage).Select
    Selection.AutoFill Destination:=Range(plage_dest), Type:=xlFillDefault   'c'est ici que ca bug !
    Range("A2:H3" ).Select
 
End If
 
 
merci les gars!


Message édité par lden le 06-06-2006 à 16:37:54
Reply

Marsh Posté le 02-06-2006 à 09:22:34   

Reply

Marsh Posté le 06-06-2006 à 09:50:09    

Euh salut.
 
je ne suis toujours pas inspiré dans la résolution de ce problème.
pensez vous que c'est le passage d'une plage_dest en argument qui empeche l'extension des formules?
merci
Lden

Reply

Marsh Posté le 06-06-2006 à 10:30:22    

Qui peut me dire pourquoi dans une sub ca marche et pourquoi dans une fonction ca marche pas?
 
Range("A3:H3" ).Select 'mettre plage
    Selection.AutoFill Destination:=Range("A2:H2" ), Type:=xlFillDefault

Reply

Marsh Posté le 06-06-2006 à 10:56:20    

donc, tu as fais un ptit prog sous access si je comprend bien, qui devrai lancer une macro, une macro copié de excel ??
mais access comprend pas le Range("....." ) du fait que tu n'as pas de colonnes lol  
mais il y a un moyen ;)  
 
pour ma part j'ai fais ceci :
 

Code :
  1. Public Function MacroExcel()
  2. Dim Xl As Excel.Application
  3. Set Xl = New Excel.Application
  4. Xl.Workbooks.Open "C:\123456\MACRO_TEL.XLS"
  5. Xl.Run "MACRO_TEL.XLS!RSW_TRI.auto_Open"
  6.                 ' en nommant une macro : auto_Open, elle se lance a l'ouverture du fichier..
  7. Xl.Quit
  8. Set Xl = Nothing
  9. End Function
  10. '---------------------------------
  11. Private Sub ouvrir_fichier_Click()
  12. MacroExcel            ' je lance la macro quand je click sur mon bouton ouvrir_fichier sur mon formulaire..
  13. End Sub


 
Voila, j'espere que ca peut t'aider, par contre, lancer une macro excel ou word depuis access et formulaire, ca prend beaucoup de temps :/  je sais d'ailleurs pas pourquoi, car quand j'execute directement ma macro, ca me prend 15 secondes contre 2 minutes si je la lance par mon formulaire :/

Reply

Marsh Posté le 06-06-2006 à 13:54:30    

ok j'ai trouvé, ce ma plage de dest qui ne convenait pas ...
ex si plage a etendre est A3:H3
plage de dest est A3:H2...si on fait une extension vers le haut..moi je mettait A2:H2..
++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed