Programmation pour recoupie formule - excel

Fermé
poupine - 6 oct. 2009 à 18:12
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 11 oct. 2009 à 23:31
Bonjour,

j'espère que quelqu'un pourra me répondre ..
voilà, je vous explique :
je suis en train de faire un tableau sous excel et j'aimerai que quand j'insère une ligne entre mes cellules (ou il y a déjà des formules avec "SI" et "ET"), je voudrais que la formule du dessus se recopie toute seule sans avoir à tirer la petite croix !!


Par exemple, j'ai entendu parlé de macro, mais je ne sais pas comment m'en servir..

Je voudrais une macro qui insere une ligne entre les lignes 2 et 3 et qui recopie la formule contenue dans l'ex cellule C3

¦ F ¦ G ¦ H ¦
¦-----------------¦-----------------¦-----------------¦
1 ¦ 1 ¦ 2 ¦ =A1*B1 ¦
¦-----------------¦-----------------¦-----------------¦
2 ¦ 2 ¦ 2 ¦ =A2*B2 ¦
¦-----------------¦-----------------¦-----------------¦
3 ¦ ¦ ¦ =A3*B3 ¦
¦-----------------¦-----------------¦-----------------¦


Insertion d'une ligne entre les lignes 2 et 3

¦ F ¦ G ¦ H ¦
¦-----------------¦-----------------¦-----------------¦
1 ¦ 1 ¦ 2 ¦ =A1*B1 ¦
¦-----------------¦-----------------¦-----------------¦
2 ¦ 2 ¦ 2 ¦ =A2*B2 ¦
¦-----------------¦-----------------¦-----------------¦
3 ¦ ¦ ¦ ¦
¦-----------------¦-----------------¦-----------------¦
4 ¦ ¦ ¦ =A4*B4 ¦
¦-----------------¦-----------------¦-----------------¦



Merci d'avance..
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
6 oct. 2009 à 23:02
bonjour

Tu peux utiliser la macro suivante à mettre dans ta feuille concernée (mode d'emploi)

Private Sub Worksheet_BeforeDoubleClick(ByVal sel As Range, Cancel As Boolean)
Cancel = True
Dim col As Integer
sel.EntireRow.Insert
For col = 1 To Rows(sel.Row - 2).SpecialCells(xlCellTypeLastCell).Column
    If Left(Cells(sel.Row - 2, col).Formula, 1) = "=" Then
        Cells(sel.Row - 2, col).Resize(2, 1).FillDown
    End If
Next col
End Sub

Lorsque tu double clique sur une ligne, tu insères devant une ligne et les formules de la ligne précédente sont recopiées lorsqu'elles existent.

Pour que cela fonctionne, il faut autoriser l'utilisation des macros bien sûr.
0
J'ai plusieurs compte sur ma page de mon tableau.

Mon tableau ce présente comme suit :

A | B | C | D | E | F | G | H | I | J | K | L | M |

COMPTE COURANT CEL
DATE|LIB|N°CHEQUE|CB|DEBIT|CREDIT|SOLDE | SOLDE | DATE |DEBIT|CREDIT|SOLDE |SOLDE DEF|
DEFINITIF
1 |X | | | 100 | |FORMULE|FORMULE| | | |FORMULE|FORMULE |
2 |X | | | | -50 |FORMULE|FORMULE| | | |FORMULE|FORMULE |

Comment puis-je faire, du cou, pour qu'une macro insere? entre les lignes 1 et 2 mes formules contenue dans les cellules G1, H1, L1, M1 dans la ligne que je voudrais insèrer entre ???

Vous pouvez m'aider ??
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
11 oct. 2009 à 23:31
bonjour

tu installes la macro fournie et tu fais un double clic sur la ligne 2 et tes formules contenues dans les cellules G1, H1, L1, M1 seront dans la ligne insérée automatiquement entre ligne 1 et ligne 2.
0