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 :

Macro qui compare les valeurs d’un tableau en date t et en date t-1


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 6
    Par défaut Macro qui compare les valeurs d’un tableau en date t et en date t-1
    Bonjour cher Forum,
    Voici un fichier excel qui reprend les valeurs (en vecteur) de chaque produit et ces valeurs sont mises à jour chaque jour et j’ai déjà une macro pour l’update.

    J’aimerai une macro qui
    -Avant l’update copie colle les valeurs sur une feuille vierge (valeur en t-1)
    -Après l’update compare les valeurs en t-1 et valeurs en t
    Si l’écart est supérieur à 50% en valeur absolue, on conserve les données de la date précédente pour le produit concerné (toute la ligne).
    PS : le produit sont ajoutés chaque jour et ont des structures de naming différente.

    Merci d’avance. Test.xlsx

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Essayez ceci:
    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
    Sub Copie() 'A faire avant la mise à jour
        Dim f1 As Worksheet, f2 As Worksheet
        Dim DerPos As String
        Application.ScreenUpdating = False
        Set f1 = Sheets("Feuil1")
        Set f2 = Sheets("Feuil2")
        f2.Cells.ClearContents
        DerPos = f1.Cells.SpecialCells(xlCellTypeLastCell).Address
        f2.Range("A1:" & DerPos).Value = f1.Range("A1:" & DerPos).Value
        Set f1 = Nothing
        Set f2 = Nothing
    End Sub
     
    Sub Compare() ' A faire après la mise à jour
        Dim f1 As Worksheet, f2 As Worksheet
        Dim DerLig As Long, DerCol As Long, i As Long, j As Long
        Application.ScreenUpdating = False
        Set f1 = Sheets("Feuil1")
        Set f2 = Sheets("Feuil2")
        DerLig = f1.Range("A" & Rows.Count).End(xlUp).Row
        DerCol = f1.Range("A1").End(xlToRight).Column
        For i = DerLig To 2 Step -1
            For j = 3 To DerCol
                If Abs((f1.Cells(i, j) - f2.Cells(i, j)) / f2.Cells(i, j)) > 0.5 Then
                    f1.Rows(i).Delete
                    Exit For
                End If
            Next j
        Next i
        Set f1 = Nothing
        Set f2 = Nothing
    End Sub
    Pièce jointe 608657

    Cdlt

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/03/2018, 13h16
  2. Macro qui incrémente les valeurs numériques
    Par bruxmu dans le forum Word
    Réponses: 2
    Dernier message: 27/03/2017, 18h57
  3. [XL-2000] Macro qui compte les valeurs distinctes
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2010, 10h40
  4. Réponses: 12
    Dernier message: 13/03/2007, 23h21
  5. c++ valeur la plus grande parmis les valeurs dun tableau
    Par corseb-delete dans le forum C++
    Réponses: 19
    Dernier message: 14/12/2006, 22h14

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