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 :

Fusion doublons+Taille fichier [XL-2010]


Sujet :

Macros et VBA Excel

  1. #21
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 604
    Points : 34 279
    Points
    34 279
    Par défaut
    Tu nous parles d'operateurs, mais on ne sait pas ce que contiennent tes colonnes A, B et C par exemple.

    Oui cela parait evident, mais toujours partir du principe pour qu'on taide :
    Les portes que tu penses qu'on est en train de vouloir defoncer alors qu'elles sont ouvertes
    1/ Ces portes ne sont pas ouvertes pour tout le monde
    2/ Tout le monde ne sait pas que ces portent existent
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  2. #22
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Citation Envoyé par JechercheT Voir le message
    Ma première macro que j'ai mentionnée dés le début m'a retourné tous les codes /opérateur.
    Donc s'il ne reste que des lignes à supprimer, il suffit juste d'utiliser la méthode décrite dans le post #19 …

    Appliquée dans une discussion de ce forum comportant une plage de 32 000 lignes elle n'a même pas duré cinq secondes !
    Une boucle ne sert juste à ralentir une procédure comparativement au B-A-BA d'Excel …

    J'ai même assisté à une démonstration entre une procédure automatique mal fichue via des boucles
    face à un humain opérant manuellement dans la feuille de calculs :   l'humain l'ayant remporté haut la main, il ne lui a pas
    fallu une minute pour effectuer la suppression tandis que la procédure tournait, tournait, pendant des dizaines de minutes !

    Depuis ce jour j'essaye d'appliquer la première règle en développement sous Excel :   TEBV   !
    Think Excel Before VBA !   Penser Excel Avant VBA …

    Et parfois grâce à cette règle on peut même éviter un code inutile !
    (Exemple d'un tableau croisé dynamique face à une usine à gaz en VBA …)
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #23
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2016
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 37
    Points : 21
    Points
    21
    Par défaut
    @ Jean
    "" une base d'opérateurs ou chacun à au mois deux codes identifiants (différents)""
    veut dire évidement deux colonnes: A pour opérateur, B pour codes.
    Losrsqu'on parle des opérateurs en doublons et multicodage =>
    amène à qq chose comme ça:
    op1 cd1
    op2 cd2-1
    op2 cd2-2
    op3 cd3-1
    op3 cd3-2
    op3 cd3-3
    sortie souhaitée:
    op1 cd1 cd1
    op2 cd2-1 cd2-1 | cd2-2
    op3 cd3-1 cd3-1 | cd3-2 | cd3-3

    Citation Envoyé par Marc-L Voir le message
    Donc s'il ne reste que des lignes à supprimer
    Y a pas que ça!!
    ce code est testé sur un extrait de 1000 lignes, il ne tourne pas sur mon fichier original +215000 lg

  4. #24
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 604
    Points : 34 279
    Points
    34 279
    Par défaut
    Bon et du coup mon exemple d'hier, en le faisant evoluer SIMPLEMENT, cela donnerait

    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
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
        If Cells(i, 1) = Cells(i - 1, 1) Then
            If Cells(i, 3) = "" Then
                Cells(i - 1, 3) = Cells(i - 1, 2).Value & "|" & Cells(i, 2).Value
            Else
                Cells(i - 1, 3) = Cells(i - 1, 2).Value & "|" & Cells(i, 3).Value
            End If
            Cells(i, 1).EntireRow.Delete
       Else
            If Cells(i, 3) = "" Then
                   Cells(i, 3) = Cells(i, 2).Value
            End If
       End If
     
     Nexti
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #25
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2016
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 37
    Points : 21
    Points
    21
    Par défaut
    Mille merci et désolée pour le tracas!
    bonne journée

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. réduction taille fichier
    Par Bibouda dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 27/10/2005, 17h43
  2. Taille fichier smart upload
    Par Homer dans le forum ASP
    Réponses: 2
    Dernier message: 20/10/2005, 21h18
  3. détection doublons de fichier
    Par poussinphp dans le forum Langage
    Réponses: 4
    Dernier message: 09/08/2005, 18h33
  4. Limiter taille fichier joint à un mail
    Par fdthierry dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 27/08/2004, 12h12
  5. [URL] taille fichier
    Par hocinema dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/07/2004, 16h03

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