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 :

[VA-E] trier des données avec macro VBA


Sujet :

Macros et VBA Excel

  1. #21
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    bon je repart de zero :

    de ton premier script je pense qu'il faut que je conserve ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Comparaison()
        Dim wk1 As Workbook ' Classeur 1
        Dim wk2 As Workbook ' Classeur 2
        Dim wk3 As Workbook ' Classeur de résultat
     
        Set wk1 = Workbooks("Codes TAC - Octobre 06.xls")
        Set wk2 = Workbooks.Open("C:\Documents and Settings\ghipeau\Bureau\PROJET 2\code tac\Codes TAC - 05 Dec 06.xls")
        Set wk2 = Workbooks.Open("C:\Documents and Settings\ghipeau\Bureau\PROJET 2\code tac\resultatcomparaison.xls")
    ça indique l'endroit où se trouve les classeurs à traité

    bon je continu

  2. #22
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    bon apres épuration de ce que j'ai compris j'obtient ça :


    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 Comparaison()
        Dim wk1 As Workbook ' Classeur 1
        Dim wk2 As Workbook ' Classeur 2
        Dim wk3 As Workbook ' Classeur de résultat
     
        Set wk1 = Workbooks("Codes TAC - Octobre 06.xls")
        Set wk2 = Workbooks.Open("C:\Documents and Settings\ghipeau\Bureau\PROJET 2\code tac\Codes TAC - 05 Dec 06.xls")
        Set wk2 = Workbooks.Open("C:\Documents and Settings\ghipeau\Bureau\PROJET 2\code tac\resultatcomparaison.xls")
     
        Dim rngMoisPrecedent As Range
        Dim rngMoisEnCours As Range
     
        Set rngMoisPrecedent = Feuil1.Range("a2:a10")
        Set rngMoisEnCours = Feuil2.Range("a2:a10")
     
        RechercheElements rngMoisPrecedent, rngMoisEnCours ' recherche des suppressions
        RechercheElements rngMoisEnCours, rngMoisPrecedent ' recherche des ajout => inversion des plages
     
    End Sub
    Sub RechercheElements(PlageBase As Range, PlageRecherche As Range)
        Dim Cellule As Range
        Dim CelResultat As Range
     
        For Each Cellule In PlageBase
            Set CelResultat = PlageRecherche.Find(what:=Cellule.Value, LookIn:=xlValues, lookat:=xlWhole)
            If CelResultat Is Nothing Then MsgBox Cellule.Value & " non trouvé"
        Next Cellule
    End Sub
    mais j'ai toujours la meme erreur qu'au post #20

    PS : j'ai lus l'aide qu'il y a avec le debugger mais j'ai pas plus oompris

  3. #23
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    là franchement je bloque completement je retourne le probleme dans tout les sens et j'ai toujours cette erreur

    le probleme c'est comme je comprend pas l'erreur j'avance pas

  4. #24
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    bon on reprend tout depuis le début :

    je vais poser l'algorithme de la macro :


    Macro Excel :
    Algo :

    selection du premier classeur à comparer
    ouverture du second classeur à comparer
    creation du classeur resultat
    creation de trois feuilles ajout, suppression, modification dans le classeur resultat


    Parcours du premier tableau ligne par ligne
    Parcours du second tableau ligne par ligne

    si valeur premier tableau différent valeur second tableau alors
    _ si valeur premier tableau = null et valeur second tableau =vraie
    alors stocké valeurs dans feuille ajout du classeur resultat
    _ si valeur premier tableau=vraie et valeur second tableau=null aors stocké valeurs dans feuille suprimé du classeur resultat
    _ si valeur premier tableau=valeur second tableau+1
    alors stocké valeurs dans feuille modifié

    sinon parcourir le tableau
    finsi
    fin algo

  5. #25
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    sans aller plus loin dans ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set rngMoisPrecedent = Feuil1.Range("a2:a10")
        Set rngMoisEnCours = Feuil2.Range("a2:a10"
    tu défini des plages appartenant tout les 2 à des feuilles du classeur Actif.... feuilles dont le "CodeName" (Nom visible dans l'éditeur VBE, dans l'arborescence du projet...) est Feuil1 et Feuil2 ... je pense que ce n'est pas ces feuilles que tu veu comparer !

    utilse tes wk1 et wk2... par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set rngMoisPrecedent = wk1.Sheets("LeNomDeLaFeuille").Range("a2:a10")
        Set rngMoisEnCours = wk2.Sheets("LeNomDeLaFeuille").Range("a2:a10"

  6. #26
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    ok merci pour le tuyau je test ça dès que 5 mn

Discussions similaires

  1. Problème Macro pour trier des données
    Par lmb19 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2010, 01h00
  2. Graphique avec des données précises en vba
    Par seyflo dans le forum Excel
    Réponses: 10
    Dernier message: 25/05/2010, 10h47
  3. trier des données excel grâce à VBA
    Par fred2949 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/01/2008, 20h27
  4. Trier des données xls via macro VB
    Par Ch0rizz0_boulo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/09/2007, 15h14
  5. [Tableaux] Trier des données avec des tableaux
    Par yobogs dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2006, 14h39

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