VBA reporter le CA de chaque jour sur la feuille budget de mon fichier

Bonjour,

Je voudrai faire une macro en VBA qui serait de copier le chiffre d'affaire mis à jour chaque jour dans tous mes tableaux dans la colonne J vers ma feuille budget et placer dans la cellule qui correspond.

Je ne peux déposer de fichier fictif car tout se base sur les Tcds qui eux même se mettent à jour via la base de donnée interne à l'entreprise.

J'ai 6 tableau Tcd chacun au même format que l'autre mais sur des feuilles différentes ou je viens prendre manuellement le CA chaque jour pour le mettre sur l'onglet Budget au nom et la date du client correspondant.

Feuille 1: Avant Cap (CA Colonne J à reporter sur la feuille 7 Budget)

Feuille 2: BAB2 (CA Colonne J à reporter sur la feuille 7 Budget)

Feuille 3: Cap 3000 (CA Colonne J à reporter sur la feuille 7 Budget)

Feuille 4: Deauville (CA Colonne J à reporter sur la feuille 7 Budget)

Feuille 5: Toulouse (CA Colonne J à reporter sur la feuille 7 Budget)

Feuille 6: Web (CA Colonne J à reporter sur la feuille 7 Budget)

Merci de votre aide.

Je voudrai faire une macro en VBA qui serait de copier le chiffre d'affaire mis à jour chaque jour dans tous mes tableaux dans la colonne J vers ma feuille budget et placer dans la cellule qui correspond.

[s=co-548dd4][/s]

Je ne peux déposer de fichier fictif car tout se base sur les Tcds qui eux même se mettent à jour via la base de donnée interne à l'entreprise.

Oui, mais il faut un minimum de renseignements.

- Dans la feuille "Budget" if faut qu'on retrouve la date, dans quelle colonne?

- Idem pour le nom du client

une copie d'écran de la feuille budget aiderait bien.

Avant Cap (CA Colonne J à reporter sur la feuille Budget) -> Feuille Budget (date colonne B et mettre le CA à reporter colonne G) Nom client se trouve dans la plage de cellule (B2:G2) en cellule fusionner

BAB2 (CA Colonne J à reporter sur la feuille Budget) -> Feuille Budget(date colonne J et mettre le CA à reporter colonne N) Nom client se trouve dans la plage de cellule (K2:P2) en cellule fusionner

Cap 3000 (CA Colonne J à reporter sur la feuille Budget ->Feuille Budget(date colonne R et mettre le CA à reporter colonne V)Nom client se trouve dans la plage de cellule (S2:X2) en cellule fusionner

Deauville (CA Colonne J à reporter sur la feuille Budget) ->Feuille Budget( date colonne AH et mettre le CA à reporter colonne AL)Nom client se trouve dans la plage de cellule (AI2:AN2) en cellule fusionner

Toulouse (CA Colonne J à reporter sur la feuille Budget) -> Feuille Budget( date colonne AX et mettre le CA à reporter colonne BB)Nom client se trouve dans la plage de cellule (AY2:BD2) en cellule fusionner

Web (CA Colonne J à reporter sur la feuille Budget) -> Feuille Budget( date colonne BF et mettre le CA à reporter colonne BJ)Nom client se trouve dans la plage de cellule (BG2:BL2) en cellule fusionner

J'espère que mes détails sont compréhensible

Bonsoir,

Essayez ceci (pas évident de travailler sans support)

Sub Copie_dans_Budget()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim Col_Date_f1 As Long, Col_CA_f1 As Long, i As Long, DerLig_f2 As Long, Lig_Date_jour_f2 As Long
    Application.ScreenUpdating = False
    On Error Resume Next
    Set f1 = Sheets("Budget") 'attribution de la variable f1 à la feuille budget
    For i = 1 To Sheets.Count 'on passe en revue chaque feuille
        Set f2 = Sheets(Sheets(i).Name) 'attribution de la variable f2 à la feuille client traitée
        Lig_Date_jour_f2 = Application.Match(Date * 1, f2.Range("G1:G" & f2.Range("G" & Rows.Count).End(xlUp).Row), 0) 'recherche de la ligne de la date du jour en colonne G de chaque feuille client
        If Lig_Date_jour_f2 > 0 Then
            Select Case f2.Name 'selon le nom de la feuille client
                Case Is = "Avant Cap"
                    Col_Date_f1 = 2 'colonne destination de la date
                    Col_CA_f1 = 7 'colonne destination du CA
                Case Is = "BAB2"
                    Col_Date_f1 = 10 'colonne destination de la date
                    Col_CA_f1 = 14 'colonne destination du CA
                Case Is = "Cap 3000"
                    Col_Date_f1 = 18 'colonne destination de la date
                    Col_CA_f1 = 22 'colonne destination du CA
                Case Is = "Deauville"
                    Col_Date_f1 = 34 'colonne destination de la date
                    Col_CA_f1 = 38 'colonne destination du CA
                Case Is = "Toulouse"
                    Col_Date_f1 = 50 'colonne destination de la date
                    Col_CA_f1 = 54 'colonne destination du CA
                Case Is = "Web"
                    Col_Date_f1 = 58 'colonne destination de la date
                    Col_CA_f1 = 62 'colonne destination du CA
            End Select
            DerLig_f1 = f1.Cells(Rows.Count, Col_Date_f1).End(xlUp).Row + 1
            f1.Cells(DerLig_f1, Col_Date_f1) = Date
            f1.Cells(DerLig_f1, Col_CA_f1) = f2.Cells(Lig_Date_jour_f2, "J")
        End If
    Next i
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt

Bonjour,

Merci du code vba je pense qu'il y a juste quelque chose qui bloque mais je sais pas quoi car aucune donnée de mes tableaux s'est reporter.

Je pense peut être que comme mes tableaux sont des données via des liens TCDS 'TCD retail lol'!I34' cela n'est pas pris en compte comme une valeur.

Mon but est de reprendre ces données pour le mettre en format valeur dans tous les tableaux budget qui sont des tableaux sans formule.

Je sais que c'est pas facile sans support et j'aurai bien voulu le mettre mais comme vous le savez c'est pas possible.

En attente de votre retour.

Bonjour,

Et comment se présente la base de données dont est issu le TCD? Ne pourrait-on pas prendre les données dans cette base?

Bonjour,

je pense que si on pourrait prendre les valeur de cette base mais les chiffres doivent être en chiffre entier sans virgule et arrondi au nombre entier le plus proche.

En plus il faut tenir compte que c'est un TCD ou une fois le mois finis il faudra décaler une ligne en dessous pour prendre les valeurs.

Voici une capture d'écran ou j'ai effacer les données pour que vous puissiez comprendre :

Nom de feuille : "TCD retail lol"

capture ecran

Les données entourées sont ceux à reporter de la colonne I à la colonne N chaque jour comme c'est un TCD il se met à jour tous les jours les dates sont en colonne A et B et reporter ce montant sur la feuille "BUDGET".

Il serait bien de supprimer le filtre sur les enseignes pour savoir à qui appartient la ligne encadrée

Colonne I = AVANT CAP

Colonne J = BAB2

Colonne K= CAP 3000

Colonne L= DEAUVILLE

Colonne N= TOULOUSE

Pour les données pour "WEB"

C'est la feuille "TCD WEB"

Date en colonne A et sur le TCD en colonne B.

Le CA net à reporter se trouve en colonne D sur le TCD.

Bonjour Arturo83,

Si tu as besoin de plus de précision n'hésite pas à demander ?

En attente de ton retour.

Bonjour,

Pour que je puisse essayer de répondre correctement, il faut que je mette en situation, c'est à dire, refaire un fichier le plus représentatif possible qui se rapprocherait de votre descriptif et ensuite, y appliquer une macro qui ferait faire le travail. Alors je me dis que, si je dois faire ce fichier bidon pour pouvoir travailler, vous pouvez me le faire aussi. Alors, créez-moi ce fichier, avec des valeurs bidons et sans données confidentielles tout en respectant la structure, un dizaine de lignes suffit. Faites cet effort sinon on n'avancera pas.

l'idéal serait aussi d'avoir le résultat attendu après traitement par la macro.

Cdlt

Bonjour,

je vais voir comment je peux faire pour vous préparer ça.

Cordialement.

Rechercher des sujets similaires à "vba reporter chaque jour feuille budget mon fichier"