Copie automatique dans livre de comptes

Bonjour,

je suis directeur d'une école, et j'ai, entre autres, la charge de la comptabilité.

La comptabilité est divisée selon 4 comptes (100= fonctionnement, 200= projets, 300=fêtes, 400=bcd). Je joins un fichier exemple.

Actuellement je copie du grand livre vers chacune des feuilles selon l'opération, ce qui génère parfois des erreurs. Je voudrais moderniser le fichier pour que la ventilation se fasse automatiquement en fonction de la colonne dans laquelle est indiqué le type d'opération (100,200,300 ou 400).

J'ai essayé avec les fonctions "recherchev", mais je n'arrive qu'à récupérer 1 ligne....

Pouvez-vous m'aider?

Merci

bonjour

suggestion sans formule difficile : ne conserver qu'une feuille, avec sur la gauche ton grand livre, et sur la droite des colonnes qui reprennent les valeurs des comptes (ventilation)

j'ai fait un essai sur comptes 100 et 200, à finaliser surtout avec le solde de départ et le solde d'arrivée

puis pour visualiser un compte, tu fais un filtre sur le n° de compte

bgrvbfe

Bonsoir,

merci, c'est une bonne idée (simple en plus =o). Encore une question qui en découle : je me sers des feuilles "ventilées" pour justifier des différentes subventions auprès de la Municipalité, sans qu'ils aient accès au reste des comptes qui ne les concerne pas forcément (voire pas du tout...).

Me sera-t-il possible d'imprimer les feuilles compte par compte sans manipulation scabreuse (suppression de lignes etc...)? J'ai l'impression qu'on en reviendrait alors à copier les parties "triées" sur de nouvelles feuilles, d'où l'intérêt de le faire automatiquement...

Bonjour,

Sans formule c'est difficile, alors voici une macro qui transfère les données de "Grand Livre "vers chacun des onglets... Tu sélectionnes les données à transférer dans la colonne B de "Grand Livre" et tu exécutes la macro (ajoute un bouton si tu veux)

Sub MAJ_GrandLivre()
'On doit sélectionner des données dans la colonne 2 de l'onglet Grand Livre
'Les données sont transférées dans les onglets selon le No compte
'La cellules des données transférées est mise en jaune
Dim wsGL As Worksheet
Dim ws100 As Worksheet, ws200 As Worksheet, ws300 As Worksheet, ws400 As Worksheet
Dim LastRow As Integer
Dim rg As Range

'vérifier que la sélection est correcte
If Selection.Columns.Count > 1 Or Selection.Column <> 2 Or Selection.Parent.Name <> "Grand Livre" Then
    MsgBox "Mauvaise sélection de données."
    Exit Sub
End If

Application.ScreenUpdating = False

Set wsGL = ActiveWorkbook.Sheets("Grand Livre")
Set ws100 = ActiveWorkbook.Sheets("Compte 100")
Set ws200 = ActiveWorkbook.Sheets("Compte 200")
Set ws300 = ActiveWorkbook.Sheets("Compte 300")
Set ws400 = ActiveWorkbook.Sheets("Compte 400")

Set rg = Selection

'pour toutes les cellules sélectionnées en B dans "Grand Livre"...
For Each cell In rg
    Select Case cell.Value  'No compte
        Case 100
            With ws100
                LastRow = .Range("B65536").End(xlUp).Row + 1
                .Rows(LastRow).Insert           'nouvelle ligne à la fin
                Range(.Cells(LastRow, 1), .Cells(LastRow, 6)) = Range(cell.Offset(0, -1), cell.Offset(0, 4)).Value              'copie à la fin
                Range(.Cells(LastRow, 7), .Cells(LastRow, 7)).Formula = "=G" & LastRow - 1 & "+F" & LastRow & "+E" & LastRow    'formule
                cell.Interior.ColorIndex = 6    'pour indiquer que c'est fait
            End With

        Case 200
            With ws200
                LastRow = .Range("B65536").End(xlUp).Row + 1
                .Rows(LastRow).Insert
                Range(.Cells(LastRow, 1), .Cells(LastRow, 6)) = Range(cell.Offset(0, -1), cell.Offset(0, 4)).Value
                Range(.Cells(LastRow, 7), .Cells(LastRow, 7)).Formula = "=G" & LastRow - 1 & "+F" & LastRow & "+E" & LastRow
                cell.Interior.ColorIndex = 6    'pour indiquer que c'est fait
            End With

        Case 300
            With ws300
                LastRow = .Range("B65536").End(xlUp).Row + 1
                .Rows(LastRow).Insert
                Range(.Cells(LastRow, 1), .Cells(LastRow, 6)) = Range(cell.Offset(0, -1), cell.Offset(0, 4)).Value
                Range(.Cells(LastRow, 7), .Cells(LastRow, 7)).Formula = "=G" & LastRow - 1 & "+F" & LastRow & "+E" & LastRow
                cell.Interior.ColorIndex = 6    'pour indiquer que c'est fait
            End With

        Case 400
            With ws400
                LastRow = .Range("B65536").End(xlUp).Row + 1
                .Rows(LastRow).Insert
                Range(.Cells(LastRow, 1), .Cells(LastRow, 6)) = Range(cell.Offset(0, -1), cell.Offset(0, 4)).Value
                Range(.Cells(LastRow, 7), .Cells(LastRow, 7)).Formula = "=G" & LastRow - 1 & "+F" & LastRow & "+E" & LastRow
                cell.Interior.ColorIndex = 6    'pour indiquer que c'est fait
            End With

        Case Else
            MsgBox "No compte inconnu"
    End Select

Next

Application.ScreenUpdating = True

End Sub

Bonsoir

En filtrant (Macro)

Amicalement

Nad

Bonsoir,

Dans la continuité de jmd,

Amicalement

Claude

édit: Salut Nad

Bonsoir,

ça marche !

C'est un peu de la magie pour moi, mais ça marche...

Merci à tous!

-- 10 Mar 2011, 22:01 --

Je n'ai même plus que l'embarras du choix... =oD

re,

Manquerait plus que çà ne marche pas !

évite quand même les cellules fusionnées

Amicalement

Claude

a resolu3
Rechercher des sujets similaires à "copie automatique livre comptes"