VBA - Synthétiser 3 tableaux en 1 seul

Bonsoir à tous.

Après près de 3 semaines de travail et bien sûr de votre aide au quotidien, mon projet excel est pratiquement fini.

Je dois maintenant récupérer pour les 3 onglets : "Astreintes", "Prime encadrement de nuit" et "Indem horaire travail de nuit" les lignes dont les totaux sont supérieur à 0€ pour les ajouter dans un onglet "injection". Le but final étant d'injecter dans un logiciel de paye les écriture au lieu de les saisir 1 par 1;

Cette récupération est pour moi "compliqué", je vais essayer de vous la détailler au maximum.

Dans l'onglet Injection

Colone Insée

Dans les 3 onglets si un personnel à un total > 0€ récupérer le numéro Insée, il doit absolument correspondre au regard de celui du personnels dans l'onglet "Personnels", en effet son formatage est spécifique (et non celui sur l'état qui est formaté pour être plus lisible).

Exemple '1990513065077382 (apostrophe en premier et dernier chiffre à 0, mais suivant la liste dans l'onglet "Personnels",le dernier chiffre peut être 1, 2, 3 etc...)

Colonne Nom, prénom

Au regard du numéro Insée pouvoir obtenir l'identification du personnels dans le format suivant : Nom,prénom

Colonne Carte

Au regard de la ligne concernée récupérer la valeur pour chaque onglet de la case M2 exemple 22

Colonne Code indemnité

Au regard de la ligne concernée récupérer la valeur pour chaque onglet de la case N3 exemple 0667, 1453, 1523

Colonne date effet

Récupérer =Astreintes!E12 et le transformer en date XX/XX/XXXX par exemple septembre 2014 le transformer en 01/09/2014

Donnée B

Le montant total de la ligne pour le personnel au format XXXX ou XXXXX sans virgule par exemple 10000 pour 100€

Par exemple un personnel peut avoir 3 lignes car 3 onglet code indemnités différentes.

Je joint un fichier pour être plus clair.

Bien conscient de ma demande particulière, je tiens à vous remercier par avance de toute l'aide apportée, je reste disponible pour apporter des complément ou autre.

Bien cordialement.

En cherchant j'ai trouvé ce code qui me semble être une piste, j'ai essayé de le tourner pour mon classeur afin d'avoir un début de piste sans succès

Tiré d'ici : https://forum.excel-pratique.com/excel/compilation-de-tableaux-exceliens-sur-un-seul-onglet-t48101.html

Option Explicit

Sub Recopie()
Dim Ws As Worksheet

  Application.ScreenUpdating = False
  Range("A10:P" & Rows.Count).Clear
  For Each Ws In Sheets
    If UCase(Left(Ws.Name, 2)) = "UT" Then
      With Ws
        .Range("A12:P" & .Range("B" & Rows.Count).End(xlUp).Row).Copy Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
      End With
    End If
  Next Ws

End Sub

Bonjour

Pour essayer de faire quelque chose il faut ôter la protection des feuilles

Avec un code insée identique on aura un nom prénom identique partout

Bonjour,

Est ce que c'est mieux comme ceci ?

Bien cordialement.

Bonjour

Cela s'améliore mais la page "Indem horaire travail de nuit" est toujours protégée

Et pour la macro que je fais j'ai besoin quelle soit déprotégée

Bonjour,

Mille excuses, voici le fichier sans la protection.

Merci pour ton aide.

Bien cordialement.

Bonjour

J'ai trouvé le mot de passe

A vérifier

Bonsoir,

Ca fonctionne à merveille.

En fait pour j'ai modifié mon sujet quelques heures après,on c'est croisé. Pour le montant de la donnée B, il aurait fallu qu'il soit comme ceci :

20€ sur l'état devrait donner 2000 sur la synthèse, autre exemple 136,42€ sur l'état devrait donner 13642 sur la synthèse. On enlèverait la virgule.

Merci encore, ça fonctionne parfaitement.

Tu es un Chef

Bien cordialement.

Bonjour

Multiplies la valeur par 100

Modifies la ligne correspondante

            Range("E" & Ligne) = CDate(.Range("E12"))
            Range("F" & Ligne) = .Cells(Cel.Row, Colonne)* 100
          Else
            MsgBox "Code " & Cel & " introuvable"
 

Bonsoir,

Voila c'est modifié.

Bonne soirée et merci encore.

Bien amicalement.

Rechercher des sujets similaires à "vba synthetiser tableaux seul"