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 :

Problème de formules [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut Problème de formules
    Bonjour a tous,

    Après avoir parcourut les différents forums, sites existants,
    je me suis un peu perdu dans toutes les formules que j'ai vu.

    Pouvais vous m'indiquer les formules a utiliser s'il vous plait ?

    Le code suivant n'est Pas Du Tout conforme au langage VBA mais je l'ai ecrit
    pour que vous compreniez simplement son but.
    (Qui est de verifier si une ligne existe dans mes 2 feuilles et filtrer les doublons
    en changeant la date(Colonne B) et le contenu d'une cellule (Colonne F)
    en ne gardant que la version la plus ancienne (pour mettre la ligne a jour))

    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
    Sub Archivage()
     
    Dim i As Integer            ' i = numéro de ligne feuille List
    Dim j As Integer            ' j = numéro de ligne feuille Archive
    j = 1
     
    For i = 2 To 1 + 49
        While i <> 52
     
        If Sheets("List").Cells(i, 1) <> Sheets("Archive").Cells(j, 1) Then
        ' Si A2.List différent de A1.Archive, on passe a A2.Archive
            j = j + 1
     
            If Sheets("Archive").Cells(j, 1) = "" Then
            'Si Aj.Archive = Rien ( ce qui correspond a la fin de la list d'archive),
            '1/ On ajoute la ligne de List a Archive
            Sheets("Archive").Row(j) = Sheets("List").Row(i)
            '2/on passe a A3.List
            i = i + 1
            j = 1
     
            End If
     
        Else:   Sheets("Archive").Cells(j, 6) = Sheets("List").Cells(i, 6)
                Sheets("Archive").Cells(j, 2) = Sheets("List").Cells(i, 2)
        'Si les cellules sont identiques, on donne l'état de "List" a "Archive"
     
        End If
     
    End Sub
    Merci d'avance a ceux qui prendrons le temps de me répondre, de m'aider .

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Pour éliminer les doublons en ne gardant que la date la version la plus ancienne tu peux procéder comme suit :
    1. Trier tes données de la plus ancienne à la plus récente : Accueil > Trier et filtrer > Trier de A à Z
    2. Eliminer les doublons grâce à la fonctionnalités d'Excel : Données > Supprimer les doublons

    Ceci est ce que tu peux faire "à la main" sur Excel. Pour connaître le code associé, utilise lenregistreur de macro et adapte le code obtenu.

  3. #3
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Merci pour ta réponse !

    Ce que je cherche surtout ici c'est comment copier la ligne d'une feuille a une autre.
    Pour trier je le fais a la main, c'est plus simple pour les personnes qui passent après moi .

    La ligne qui me pose problème c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Archive").Row(j) = Sheets("List").Row(i)
    car je sais qu'elle est totalement fausse.
    (Normalement le reste du code n'est pas si horrible que ca ..)

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Pour trier je le fais a la main, c'est plus simple pour les personnes qui passent après moi
    Si tu veux ... je ne suis pas sûre que ce soit vraiment plus simple. Par contre, si tu as beaucoup de lignes ce sera plus long !

    Pour transférer les valeurs d'une ligne, il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Archive").Rows(j).Value = Sheets("List").Rows(i).Value

  5. #5
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    C'est parfait je te remercie de ton aide et d'avoir répondu aussi vite !

  6. #6
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Le problème que je rencontre maintenant est que quand ma page "Archive" est vide,
    tout ce passe comme prévu.

    Par contre dès qu'il y a quelque choses dedans Excel passe en mode "Ne repond pas".

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

Discussions similaires

  1. Excel Problème de formule
    Par jbidou88 dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 12/05/2006, 10h20
  2. PRoblème de formule dans Excel
    Par jbidou88 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 11/05/2006, 09h35
  3. problème de formulation d'une requête
    Par seiryujay dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/08/2004, 17h13
  4. Problème de formulation de requète
    Par tellitocci dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/06/2004, 05h05
  5. [EXCEL-OLE] Problème de formule
    Par qi130 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 13/10/2003, 18h49

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