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 comparaison excel [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #21
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    bonjour,
    j'ai refait mon classeur.Le but est de supprimer les doublons de la feuil2 qui ont été trouvé via la formule que Pierre m'a trouvé ( encore merci).
    J'ai essayé avec une macro pour effacer les cellules avec fond jaune mais comme les cellules sont issues d'une MFC cela ne fonctionne pas.
    Avec un tri par colonne c'est possible mais comme j'aurai pas mal de colonnes ça va devenir très vite fastidieux d’où ma recherche de solution.
    merci.
    Fichiers attachés Fichiers attachés

  2. #22
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Je ne sais pas ce que tu as utilisé comme formule, car celle que j'ai donnée pour la MFC ne signale pas les doublons. Elle signale les valeurs de la feuille 2 qui sont aussi dans la feuille 1. Il n'y a pas de notions de doublons.

    souhaites-tu supprimer de la feuille 2 les valeurs qui sont reprises dans la 1 (et qui sont donc allumées par la MFC formulée que je t'ai renseignée?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #23
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    oui Pierre c'est tout à fait ça.
    en partant de ta formule les valeurs de la feuille1 se sont colorées en feuill2:normal.
    maintenant il faut que je puisse supprimer ces valeurs qui sont (sur fond jaune) de la feuill2.

  4. #24
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    La mfc et sa couleur ne peuvent pas servir au niveau vba (pas facilement, en tout cas). Ni Excel ni VBA ne sont équipés pour traiter cela correctement. Par contre, il est possible d'utiliser la fonction EQUIV (celle utilisée dans la MFC) au sein d'un code VBA. Dans la feuille 2, tu n'utilises pas de tableau (ça a la couleur du tableau, l'aspect du tableau, mais ce n'est pas un tableau). il faut donc déterminer la plage. Ici, pour l'exemple, j'ai codé A2:J68 en dur. L'idée est de partir de la dernière cellule de cette plage, de tester avec EQUIV en VBA (Application.Match) si la valeur de la cellule testée est en feuil1 (dans Colonne1 de Tableau1) et si oui (pas d'erreur dans le Match), on supprime. En prenant les cellules à rebours et en remontant, on ne doit dès lors pas gérer les sauts intempestifs de cellule lors de la suppression.

    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
    Sub DeleteCells()
      Dim f1 As Range
      Dim f2 As Range
      Dim i As Long
      Dim r
     
      Set f1 = Range("tableau1[colonne1]")
      Set f2 = Feuil2.Range("a2:j68")
      For i = f2.Count To 1 Step -1
        r = Application.Match(f2(i), f1, 0)
        If Not IsError(r) Then
          f2(i).Delete
        End If
      Next
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #25
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    bon..je viens de lancer la macro sur le fichier test4 et ça fonctionne bien, par contre sur un fichier beaucoup beaucoup plus remplis au bout de 7mn il travaille encore.
    petite question sur la formule MFC que tu m'as donné, n'est il pas possible de supprimé la valeur trouvée sur la feuil2 plutôt que de la mettre sur fond jaune ? pour éviter de lancer une macro qui sera forcement plus long.

  6. #26
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    bon excel tournez toujours j'ai finis par l’arrêter.
    la macro a dû avoir une indigestion de donnée.
    si tu as une autre piste

  7. #27
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Le problème, c'est la taille des données, dans ce cas, car la macro boucle sur toutes les cellules. Je ne sais pas ce que tu entends par rempli. Je crois comprendre que tu as placé la MFC pour t'appuyer sur la couleur pour supprimerldes données. Si c'est le cas, tu n'as plus besoin de la MFC et tu peux la supprimer. Ca fera du calcul en moins. Si tu dois la garder, tu peux aussi passer en calcul manuel en début de macro et le rétablir en fin de macro. Tu peux également geler l'affichage pour gagner encore du temps. Ce sont des techniques de base d'optimisation de procédures, surtout sur du code bouclant sur de grandes plages.

    Avec beaucoup de données, je travaillerais en VBA avec un array (un tableau en VBA) dans lequel je pousserais les données de la plage de Feuille 2. Je parcours alors l'array et lorsqu'une correspondance est trouvée, je supprime de la plage la cellule correspondante à celle de l'array. La ligne t = f2.Value passe les valeurs de la plage dans un tableau à deux dimensions. Lorsque la valeur t(i,j) est trouvée dans Feuille1, il suffit de supprimer la cellule de Feuil2.range("a2:j68")(i,j). Ca devrait aller beaucoup plus vite. J'y ai ajouté le calcul manuel et le gel de l'écran.

    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
    Sub DeleteCells()
      Dim f1 As Range
      Dim f2 As Range
      Dim t
      Dim i As Long, j As Long
      Dim r
      Dim CalculMode As XlCalculation
     
      On Error GoTo Catch
      CalculMode = Application.Calculation
      Application.ScreenUpdating = False
     
      Set f1 = Range("tableau1[colonne1]")
      Set f2 = Feuil2.Range("a2:j68")
      t = f2.Value
     
      For i = UBound(t) To 1 Step -1
        For j = UBound(t, 2) To 1 Step -1
          r = Application.Match(t(i, j), f1, 0)
          If Not IsError(r) Then
            f2(i, j).Delete
          End If
        Next
      Next
     
    Catch:
      Application.Calculation = CalculMode
      Application.ScreenUpdating = True
    End Sub

    Cela a-t-il amélioré le temps d'exécution?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #28
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    Bonjour Pierre,
    bon je ne suis pas convaincu,autant la mise en forme conditionnelle a été très rapide pour mettre sur fond jaune les doublons sur la feuille2 autant pour les supprimé (voir trier pour les mettre en tête ce colonne/ligne) devient long et fastidieux.
    je ne sais plus trop sur quelle base partir (macro/mfc..)
    le but final étant de repérer si les valeurs de la feuille1 sont aussi sur la feuille2 pour ensuite les supprimer de la feuille2.
    quand je dis remplis cela veut dire que j'aurais beaucoup de valeur dans la feuille2.
    je suis un peu dans une impasse...
    avec une nouvelle MFC n'est il pas possible ces cellules sur fond jaunes?

  9. #29
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Combien de lignes en feuille 1, combien de lignes et colonnes en feuille 2?

    Il n'y a pas de miracles.Pour ce genre de traitement, la taille des tables impacte directement les performances
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #30
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Heu pas tout suivi.

    Ta demande initiale était de mettre un fond jaune sur les valeurs communes entre Feuil1 et Feuil2.

    On t'a donné 2 méthodes pour cela et Pierre t'en souffle une troisième dans sa dernière réponse.

    Maintenant tu demandes à supprimer ces correspondances.

    Pourquoi ne pas avoir dit tout de suite ce que tu veux réellement au final ?

    Si tu veux les supprimer dis-nous d'abord, comme demandé précédement au moment de la suppression dans quel sens veux-tu décaler tes données restantes ou bien si tu veux uniquement effacer le contenu ded cellules contenant les valeurs communes.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  11. #31
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Heu pas tout suivi.

    Ta demande initiale était de mettre un fond jaune sur les valeurs communes entre Feuil1 et Feuil2.[...]
    C'est souvent le problème. Au lieu d'exposer la demande réelle (dans ce cas-ci, supprimer les valeurs d'une plage présentes dans une autre), il est demandé de résoudre "une partie" du problème tel qu'envisagé par le demandeur, sur une plage de données qui ne reflètent pas la réalité (nombre de lignes/Colonnes, complexité, ...)... Ca me rappelle cette discussion, dans laquelle on part de l'idée de retrouver le mot "pomme" pour s'apercevoir qu'en ait, il faut récupérer les cellules pour lesquelles une locution se trouve entre parenthèses sauf que c'est parfois entre la première, la deuxième ou la troisième et que la locution est tout sauf systématique... Bref, insoluble...

    Dans le cas présent, je n'ai, en fait, pas compris le besoin initial, visiblement...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #32
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Oh si tu as compris. Et tu as même donné plusieurs solutions.
    Mais on a tout les 2 compris la demande initiale qui était de colorer en jaune.

    Aucun problème de compréhension.

    Le problème est dans la demande.

    S'il ou elle veut qu'on l'aide alors il faut faire une demande complète et claire.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  13. #33
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Si le but FINAL est de vider les cellules de Feuil2 contenant des données communes avec Feuil1 il faut le dire tout de suite.
    Il suffit de modifier 1 seule ligne de code dans mon fichuer réponse du 05 août.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  14. #34
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Si le but FINAL est de vider les cellules de Feuil2 contenant des données communes avec Feuil1 il faut le dire tout de suite.
    Il suffit de modifier 1 seule ligne de code dans mon fichuer réponse du 05 août.
    De toute façon, si le but final est de supprimer (ou de "vider") les cellules de la feuille 2 dont la valeur est présente dans une liste, il faudra boucler sur les lignes et les colonnes de Feuil2 => temps d'exécution = temps d'exécution d'une boucle * nombre de boucles. Si 500000 lignes et 50 colonnes => 25000000 boucles VBA. Par belle ou par laide, on passera par ce genre de trucs, car je ne vois aucun moyen, dans le cas de figure tel que présenté, de réduire la charge et de travailler par lot.

    La réduction du temps de traitement, sur des tableaux dont la taille nous est aujourd'hui inconnue et ce n'es pas faute de l'avoir demandée, ne pourra passer que par des optimisations périphériques (mode de calcul, gel du rafraichissement d'écran, ...) qui, sur Nombre lignes * nombre colonnes (boucles imbriquées obligent), ne feront gagner que peu de temps.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  15. #35
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Tableaux en mémoire ou diictionnaire mais quoi qu'il en soit il y aura du temps de traitement.

    Mais sans demande précise et énoncé clair on ne peut que supposer.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  16. #36
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Tableaux en mémoire[...]
    C'est pourquoi que je suis étonné que la solution de passer par un array, gel d'affichage et gel du calcul n'apporte pas un résultat satisfaisant. Mais sans "sizing" des données (nombres des données en feuill1 et nombre de lignes/Colonnes en feuil2), nous ne pourrons que spéculer, comme souvent.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  17. #37
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    bonjour,
    je me suis mal fait comprendre sur le but final .
    donc le but est de trouver les doublons que je peux avoir de la feuille1 à la feuille2 (oui je les considère comme des doublons entre les deux feuilles)
    et ensuite de les supprimer de la feuille2
    l'estimation de mon classeur sera de 200000lignes sur 60 colonnes (les lignes peuvent varier mais pas le nombre de colonne).
    si je mets une valeur sur la feuille1 et qu'elle est aussi sur la feuille2 la valeur de la feuille2 devra être supprimée.

  18. #38
    Futur Membre du Club
    Homme Profil pro
    divers
    Inscrit en
    Août 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Août 2020
    Messages : 15
    Points : 8
    Points
    8
    Par défaut macro comparaison excel
    ... et disons que sur la feuille1 il y aura 15000lignes maxi sur une colonne.

  19. #39
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Je pense avoir donné une solution optimale avec mon dernier code, au vu de la taille de tes donnés. On pourrait optimiser avec un double index-equiv en triant d'abord les données de la feuille 1. On gagnerait du temps de calcul. Peut-être que placer les données de feuille 1 dans un array et de boucher dessus permettrait de gagner un peu de temps. Mais vu le nombre de lignes et de colonnes en feuille 2 et le nombre de.lignes en feuil1, je doute qu'une solution de quelques secondes puisse être mise en place...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  20. #40
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    OK Régis je regarde ça avec plusieurs solutions et je vois.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Macro VBA Excel : Comparaison des deux 1ères colonnes de 2 fichiers Excel
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2007, 10h00
  2. Activation des macros sous Excel
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/10/2005, 11h44
  3. macro sous excel
    Par julien13200 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2005, 15h49
  4. Macro dans excel permettant de voir si un fichier est ouvert
    Par VirginieGE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/08/2004, 07h51
  5. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 09h23

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