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 :

Code vba rapide avec la rechercheV pour prendre des données depuis une feuille et les coller dans une autre


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : etudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2022
    Messages : 4
    Par défaut Code vba rapide avec la rechercheV pour prendre des données depuis une feuille et les coller dans une autre
    Bonjour à tous le forum. J'espère que vous allez tous bien. Je suis nouveau dans le forum by the way.

    Je dois développer une macro dans le cadre du développement des outils de mon entreprise. Il s'agit du suivi des créances clients. L'outil doit permettre de mettre à jour les soldes des comptes clients, tout en gardant les montants historiques des quatre derniers jours. Bon assez d'explications, mon problème est le suivant:

    Nom : Capture.PNG
Affichages : 138
Taille : 73,7 Ko
    - le classeur Excel contient deux feuilles intitulées respectivement "Comptes clients " et "Comptes histo". Les deux feuilles ont la même structure: ils contiennent des tableaux avec des colonnes intitulées *numéro du compte (col. E), *intitulé du compte, 4 colonnes *montants (col. K à O) avec les dates corresp. sur les entêtes . On doit être capable de mettre à jour les soldes dans "Comptes clients" et reprendre les soldes anciens correspondant dans les colonne K à N de "Comptes histo" et les coller dans la feuille "Comptes clients" à côté des soldes à jour. Pour cette dernière tâche j'ai trouvé le code ci-dessous sur internet, qui utilise la recherchev.


    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
    Sub prendredonnées()
     
        Dim plage As Range, plrech As Range, C As Range, Teste
            With Sheets("Comptes Clients")
                Set plage = .Range(.Cells(15, 5), .Cells(.Rows.Count, 5).End(xlUp))
            End With
            With Sheets("Comptes histo")
                Set plrech = .Range(.Cells(15, 5), .Cells(.Rows.Count, 15).End(xlUp))
            End With
                For Each C In plage
                    Teste = Application.VLookup(C.Value, plrech, 6, False)
                    If Not IsError(Teste) Then
                            C.Offset(, 7).Value = Teste
                    Else
                            C.Offset(, 7).Value = "0"
                    End If
                Next C
    End Sub
    Cependant, l'exécution est diablement lente (30 minutes minimum, plus qu'il ne prend pour le traitement manuel A noter que la taille des comptes est volumineux (près de 65 000 lignes).
    Si vous pouviez me suggérer une autre façon de faire, ça serait vraiment libérateur.

    Merci d'avance.
    Images attachées Images attachées   

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/04/2016, 09h55
  2. Utilisation de RechercheV pour mise à jour données d'une feuille
    Par RastaBomboclat dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 11/05/2015, 09h53
  3. Réponses: 0
    Dernier message: 29/08/2014, 14h33
  4. Réponses: 2
    Dernier message: 25/06/2009, 08h23

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