XL 2013 Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cellule

Lorwent

XLDnaute Nouveau
Bonjour à tous,

Je souhaite créer un fichier pour ma compta personnelle car les différents logiciel que j'ai testé ne me conviennent pas.

J'ai créer un fichier avec plusieurs onglet. Le premier est le "journal" dans lequel je souhaite entrer les factures dans l'ordre d'arrivée. Il contient cinq colonnes, dans l'ordre Date(A1), désignation(B1), débit(C1), crédit(D1), compte(E1)

J'ai ensuite créé les onglets suivants: Logement; Alimentation; Ménage; Santé; Impôt; Epargne; Loisirs. Dans chacun de ces onglets j'ai créé quatre colonnes: Date(A1), désignation(B1), débit(C1), crédit(D1)

Dans le premier onglet (Journal), dans la colonne compte (E1), j'ai crée un menu déroulant avec les nom de tout les autres onglets (Logement; Alimentation; Ménage; Santé; Impôt; Epargne; Loisirs)

Je souhaite est que les informations que je rentre dans l'onglet "journal" dans les cases A;B;C;D soit automatiquement envoyé selon la valeur de E, dans l'onglet qui correspond

Exemple:

Je saisi dans "journal" les infos suivantes

(A2)31.01.16 / (B2)loyer février / (C2)"vide" / (D2)500.00

Dans E2, je sélectionne dans le menu déroulant : Logement

Dans l'onglet "logement", les informations saisies sont reprise en A;B;C;D à chaque fois à la ligne.

Je me rend bien compte que j'en demande beaucoup, mais si vous avez quelques tuyaux, je vous en serais reconnaissant.

Merci d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cel

Bonsoir Lorwent, bonsoir le forum,

Peut-être comme ça avec la macro événementielle Change de l'onglet Jounal :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim J As Worksheet 'déclare la variable J (onglet Journal)
Dim O As workheet 'déclare la variable o (onglet)
Dim PLV As Long 'déclare la variable PLV (Première Ligne Vide)

If Target.Column <> 5 Then Exit Sub 'si le changement a lieu ailleur qu'en colonne 5 (=E), sort de la procédure
If Target.Rows = 1 Then Exit Sub 'si le changement a lieu dans la première ligne, sort de la procédure
If Target.Cells.Count > 1 Then Exit Sub 'si sélection multiple, sort de la procédure
Set J = Sheets("Journal") 'définit l'onglet J
Set O = Sheets(.Target.Value) 'définit l'onglet O
PLV = O.Range("A" & Application.Rows.Count).End(xlUp).Row + 1 'définit la première ligne vide PLV de l'onglet O
'copie les 4 premières colonnes de la ligne de la cellule éditée
'et les colle dans la cellule ligne DL colonne A de l'onglet O
J.Cells(Target.Row, 1).Resize(1, 4).Copy O.Cells(PLV, 1)
End Sub
 

Lorwent

XLDnaute Nouveau
Re : Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cel

Bonsoir Robert, bonsoir à tous

Merci beaucoup pour votre réponse rapide. Malheureusement je ne connais pas vraiment les macros. Pouvez-vous m'aider à la mettre en fonction ?

Dois-je poster le fichier excel que j'ai préparé ?

Merci d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cel

Bonsoir Lorwent, bonsoir le forum,

La procédure est simple :
• Copie le code que je t'ai proposé
• ouvre ton fichier
• clique avec le bouton droit dans l'onglet (en bas) dans lequel tu veux que le code agisse
• choisis l'option Visualiser le code
• là où le curseur clignote, colle le code copié
• ferme VBE, l'éditeur Visual Basic, avec le raccourci [Alt]+[F11]
• sauve ton classeur
• teste et dis-nous si ça convient ou pas...

Et si tu n'y parviens pas, met ton fichier en pièce jointe...
 

Lorwent

XLDnaute Nouveau
Re : Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cel

Bonsoir Robert,

Merci beaucoup pour l'explication. J'ai suivi la procédure mais cela ne fonctionne pas. Le message "type défini par l'utilisateur non défini" apparait lorsque je rentre la date dans la première colonne. Les données ne sont pas reportées dans les différents onglets. Je dois faire quelque chose de faux.

Je vous joint le fichier que j'ai préparé afin que vous puissiez jeter un coup d’œil quand vous en aurez le temps

Merci encore et bonne soirée

Lorwent
 

Pièces jointes

  • Compta 2017_7.xlsx
    17.7 KB · Affichages: 36

Robert

XLDnaute Barbatruc
Repose en paix
Re : Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cel

Bonjour Lorwent, bonjour le forum,

Désolé c'est de ma faut il y avait des mots clé mal orthographiés dans le code que je t'avais proposé.

Le code corrigé :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim J As Worksheet 'déclare la variable J (onglet Journal)
Dim O As Worksheet 'déclare la variable o (onglet)
Dim PLV As Long 'déclare la variable PLV (Première Ligne Vide)

If Target.Column <> 5 Then Exit Sub 'si le changement a lieu ailleur qu'en colonne 5 (=E), sort de la procédure
If Target.Rows = 1 Then Exit Sub 'si le changement a lieu dans la première ligne, sort de la procédure
If Target.Cells.Count > 1 Then Exit Sub 'si sélection multiple, sort de la procédure
Set J = Sheets("Journal") 'définit l'onglet J
Set O = Sheets(Target.Value) 'définit l'onglet O
PLV = O.Range("A" & Application.Rows.Count).End(xlUp).Row + 1 'définit la première ligne vide PLV de l'onglet O
'copie les 4 premières colonnes de la ligne de la cellule éditée
'et les colle dans la cellule ligne DL colonne A de l'onglet O
J.Cells(Target.Row, 1).Resize(1, 4).Copy O.Cells(PLV, 1)
End Sub

Le fichier :
 

Pièces jointes

  • Compta 2017_7.xlsm
    26.2 KB · Affichages: 42

Lorwent

XLDnaute Nouveau
Re : Report des plusieurs valeurs dans différentes feuilles selon la valeur d'une cel

Bonsoir Robert,

C'est parfait, ça fonctionne à merveille ! Mille fois merci ;)

Je souhaiterai pouvoir faire quelque chose pour vous en retour, mais vu mon niveau ça ne sera sûrement pas sur ce forum...

Bonne soirée

Lorwent
 

Lorwent

XLDnaute Nouveau
Bonjour,

J'ai retravaillé complètement le fichier que je souhaite utiliser pour ma compta personnelle. Il y a beaucoup plus d'information et j'ai besoin d'aide pour une nouvelle macro.

Je suis absolument incapable de réaliser cela moi-même, mais si je trouve quelqu'un qui peut me le faire, je suis prêt à le rémunérer modestement

Ci-joint vous trouverez deux fichiers, mon fichier de base et une copie avec quelques exemple du fonctionnement que je souhaiterais automatiser.

Je souhaite procéder ainsi;

1. Je rentre mes données dans l'onglet "Ecritures" en sélectionnant les comptes qui sont affectés (G & H)
2. Selon le compte qui est sélectionné en "H", je souhaite que les infos entrées en B, D et I soient reportées dans l'onglet qui porte le même nom que le compte sélectionné en "H"
3. Si une compte est sélectionné en "G", je souhaite que les infos entrées en B,D et J soit reportées dans l'onglet qui porte le même nom que le compte sélectionné en "G"
4. Le tout, chaque fois à la ligne

Merci d'avance
 

Pièces jointes

  • Compta 2017_exemple.xlsx
    832.5 KB · Affichages: 46
  • Compta 2017.xlsx
    329.7 KB · Affichages: 37

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 138
Membres
112 669
dernier inscrit
Guigui2502