IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

recopier les valeurs en fonction du mois [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 62
    Points
    62
    Par défaut
    Bonjour voila mon problème.

    J'ai un tableau de TVA qui se génère automatiquement par mois depuis le logiciel de comptabilité. Mon soucis c'est que ces données se mettent à zero à chaque fois que l'on change de période. Or je voudrais garder une trace des soldes générés mensuellement en copiant automatiquement les soldes dans un tableau en fonction du mois de travail.

    Par exemple dans le fichier ci joint

    La cellule P9 indique 2016/5 (mois de MAI 2016)

    Je souhaite que les infos contenu dans la colonne Solde à partir de la cellule Q16 soient recopiées dans la colonne du Moi de Mai (à partir cellule V16).

    Je précise que toutes ces données sont générées mensuellement à partir de formules depuis le logiciel de comptabilité. Je ne souhaite garder une trace de ces données en fonction du mois sans utiliser la fonction copier valeur à partir de la souris.

    J’espère avoir été le plus clair possible. Et merci pour votre aide car je ne connais rien en VBA.

    MERCI

    si je me suis mal exprimé merci de me le faire savoir
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Homme Profil pro
    Technicien bureau d'études
    Inscrit en
    Novembre 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien bureau d'études

    Informations forums :
    Inscription : Novembre 2015
    Messages : 118
    Points : 172
    Points
    172
    Par défaut
    Bonjour Janakka.

    Je te retourne ton fichier.
    La procédure est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Option Explicit
     
    'Forumeur : janakka-horus
    'Auteur : TheBenoit59
    'Lien : http://www.developpez.net/forums/d1587443/logiciels/microsoft-office/excel/macros-vba-excel/recopier-valeurs-fonction-mois/
     
    Sub Report_Mensuel()
    Dim Annees As String, Mois As Integer, i As Integer
        With Feuil1
            'On enregistre l'année de P9 ainsi que le numéro de mois
            Annees = Format(.[p9], "yyyy"): Mois = Format(.[p9], "mm")
                'On boucle les colonnes depuis la colonne R (18ème colonne), jusqu'à la dernière existante en ligne 13
                For i = 18 To .Range("r13").End(xlToRight).Column
                    'Si la valeur contenue en colonne i et ligne 13 concaténé avec celle ligne 14
                    'correspond à la valeur concaténée de Mois & Annees
                    If .Cells(13, i).Value & .Cells(14, i).Value = Mois & Annees Then
                        'Alors on copie la colonne solde à partir de la ligne 16, à la dernière
                        .Range(.Cells(16, "q"), .Cells(.[q65000].End(xlUp).Row, "q")).Copy .Cells(16, i)
                        'Et on quitte la boucle
                        Exit For
                    End If
                Next i
                'Si on termine la boucle sans trouver la valeur, c'est que la colonne n'existe pas, alors nous la créons.
                .Cells(13, i).Value = Mois
                .Cells(14, i).Value = Annees
                .Cells(15, i).Value = UCase(Format(.[p9], "mmmm"))
                .Range(.Cells(16, "q"), .Cells(.[q65000].End(xlUp).Row, "q")).Copy .Cells(16, i)
        End With
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Merci pour ta réponse. Elle est quasi parfaite sauf que les données de la colonne solde sont obtenue à partir d'une formule. Je souhaite en faite ne reporter que les valeurs de la colonne et non les formules.

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien bureau d'études
    Inscrit en
    Novembre 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien bureau d'études

    Informations forums :
    Inscription : Novembre 2015
    Messages : 118
    Points : 172
    Points
    172
    Par défaut
    On dira donc que la procédure est parfaite selon la demande de base.

    Utilise ce code ci, si tu as des formules:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Option Explicit
     
    'Forumeur : janakka-horus
    'Auteur : TheBenoit59
    'Lien : http://www.developpez.net/forums/d1587443/logiciels/microsoft-office/excel/macros-vba-excel/recopier-valeurs-fonction-mois/
     
    Sub Report_Mensuel()
    Dim Annees As String, Mois As Integer, i As Integer
        With Feuil1
            'On enregistre l'année de P9 ainsi que le numéro de mois
            Annees = Format(.[p9], "yyyy"): Mois = Format(.[p9], "mm")
                'On boucle les colonnes depuis la colonne R (18ème colonne), jusqu'à la dernière existante en ligne 13
                For i = 18 To .Range("r13").End(xlToRight).Column
                    'Si la valeur contenue en colonne i et ligne 13 concaténé avec celle ligne 14
                    'correspond à la valeur concaténée de Mois & Annees
                    If .Cells(13, i).Value & .Cells(14, i).Value = Mois & Annees Then
                        'Alors on copie la colonne solde à partir de la ligne 16, à la dernière
                        .Range(.Cells(16, "q"), .Cells(.[q65000].End(xlUp).Row, "q")).Copy
                        .Cells(16, i).PasteSpecial Paste:=xlValues
                        Application.CutCopyMode = False
                        'Et on quitte la procédure
                        Exit Sub
                    End If
                Next i
                'Si on termine la boucle sans trouver la valeur, c'est que la colonne n'existe pas, alors nous la créons.
                .Cells(13, i).Value = Mois
                .Cells(14, i).Value = Annees
                .Cells(15, i).Value = UCase(Format(.[p9], "mmmm"))
                .Range(.Cells(16, "q"), .Cells(.[q65000].End(xlUp).Row, "q")).Copy
                .Cells(16, i).PasteSpecial Paste:=xlValues
                Application.CutCopyMode = False
        End With
    End Sub

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 62
    Points
    62
    Par défaut
    Merci Beaucoup c'est super.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/01/2012, 16h37
  2. [Toutes versions] Rapprocher les valeurs en fonction de leur rapprochement
    Par peygase83 dans le forum Excel
    Réponses: 4
    Dernier message: 27/07/2010, 17h34
  3. recopier les valeur en fonction de combobox en cascade
    Par adriennoob dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/04/2010, 19h00
  4. [XL-2003] ventilation de valeur en fonction du mois
    Par doudou8mc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/09/2009, 14h09
  5. Réponses: 2
    Dernier message: 21/06/2006, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo