Macro pour insertion ligne automatique Complexe

Bonjour,

J'ai à ma disposition un tableau, qui correspond à un compte bancaire,

je souhaiterais intégrer après chaque ligne une ligne de contrepartie bancaire (comptabilité).

Dans les fais cela revient a insérer une ligne entre chaque ligne présente et a y indiqué automatiquement le montant de la ligne du dessus mais dans la colonne opposé.

Je vous join le fichier (avec seulement quelque ligne) dans l'original il y en a 50 000.

Le premier onglet correspond au fichier a traiter et le second au résultat attendu.

Si possible, cette macro devra permettre de modifié la contrepartie afin qu'elle sois utilisé pour les futurs fichiers.

MERCI !!

Bonjour, un premier jet

Sub Macro1()
    Dim dl&, i%, compte%
    compte = InputBox("quel numéro de compte?")
    dl = Feuil1.[a65536].End(xlUp).Row
    For i = dl - 1 To 2 Step -1
        With Feuil1
        .Rows(i & ":" & i)(2).Insert Shift:=xlDown
        If .Range("f" & i) <> "" Then
            .Range("e" & i)(2) = .Range("f" & i)
        Else
            .Range("f" & i)(2) = .Range("e" & i)
        End If
 .Range("d" & i)(2) = compte
 End With
    Next
End Sub

Cependant sur 50 000 lignes je doute de son efficacité car elle ne sera pas très rapides.

Merci,

Mais je suis un grand débutant en VBA je ne sais donc pas comment mettre en ouvre votre code ;'(

En essayant, je réussi a l'exécuter, une fenêtre me demande le numéros de compte, mais rien ne ce passe ;'(

Dans la fenêtre qui vous demande d'entrer un numéro de "compte" vous entrer le numéro du compte soit 5121 dans l'exemple et vous cliquez sur ok, ensuite la macro fait son travail

Je fais cela mais rien ne ce passe, je dois faire quelque chose de mal je pense.

Ouvrez le fichier joint et cliquez sur " mettre en forme le tableau" s'il vous plait

Merci,

Cela fonctionne !

mais est-il possible qu'il reprenne les même information pour les colonne journal, date, libellé que la colonne précédente ?

De plus je n'est plus la proposition de la sélection du compte, est-il possible de le remettre ?

Merci !

voili voilou a tester..

Je dois quitter l'écran je reviendrai en fin de journée

j'ai modifié la macro directement dans le fichier...

Merci de vos reponses rapide,

Cela est parfait !!

Me reste plus qu'a l'importer dans le bon tableau !!

Merci.

Dernière chose, si le numéro de compte ne comporte que des chiffres ne rien changer, si le numéro de compte a également des lettres il faut prendre cette macro au lieu de la précédente

Sub Macro1()
    Dim dl&, i%, compte As Variant
    compte = InputBox("quel numéro de compte?")
    dl = Feuil1.[a65536].End(xlUp).Row
    For i = dl - 1 To 2 Step -1
        With Feuil1
            .Rows(i & ":" & i)(2).Insert Shift:=xlDown
            If .Range("f" & i) <> "" Then
                .Range("e" & i)(2) = .Range("f" & i)
            Else
                .Range("f" & i)(2) = .Range("e" & i)
            End If
            .Range("d" & i)(2) = compte
            .Range("a" & i & ":c" & i).Copy .Range("a" & i)(2)

        End With
    Next
End Sub

Je viens de réussir a le faire fonctionné !! Je vous remercie de votre rapidité et efficacité !!

De nada !

Rechercher des sujets similaires à "macro insertion ligne automatique complexe"