Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2012, 23h50   #1
 
Inscription : octobre 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 10
Points : -1
Points : -1
Par défaut besoin de macro pour réorganiser ma base de donnée

salut à tous,
J'ai 2 feuilles excel du même classeur.
Dans la première feuille (nommée F1) , j'ai 8 colonnes et un très grand nombre de ligne 50000. la colonne E contient un ensemble de code d'achat (en chiffre).

Dans la deuxième feuille (nommée F2), j'ai 11 colonnes et un très grand nombre de ligne. la colonne F contient également un ensemble de code d'achat (en chiffre).

Mon problème consiste à déterminer pour chaque code d'achat inscrit dans la feuille 1, la ligne de la feuille 2 ayant le même code d'achat que dans la feuille 1. autrement dit extraire la ligne de la feuille 2 correspondante au code d'achat de la feuille 1 sachant que certains code d'achat de la feuille 1 ne se trouvent pas dans la feuille 2 (cad dans la colonne F de la feuille 2).

J'aimerai bien à trouver un programme VB qui m'aiderai à réorganiser mes données.

Merci
barbie-9 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 27/01/2012, 08h51   #2
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 696
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 696
Points : 1 448
Points : 1 448
Bonjour,

Tu peux commencer avec ce code.
La recherche est effectuée comme tu l’as indiqué.
J’ai supposé qu’il n’y avait pas de doublon (un contrat de F1 correspond à un contrat de F2 et un seul).
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit
Sub Test()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim DerLig1 As Long, DerLig2 As Long
Dim Cel As Range, MaPlage1 As Range, MaPlage2 As Range, Valeur As Range
 
    Set Ws1 = Worksheets("F1")
    Set Ws2 = Worksheets("F2")
    DerLig1 = Ws1.Range("E" & Ws1.Rows.Count).End(xlUp).Row
    DerLig2 = Ws2.Range("F" & Ws2.Rows.Count).End(xlUp).Row
    Set MaPlage1 = Ws1.Range(Ws1.Range("E2"), Ws1.Range("E" & DerLig1))
    Set MaPlage2 = Ws2.Range(Ws2.Range("F2"), Ws2.Range("F" & DerLig2))
 
    For Each Cel In MaPlage1
        Set Valeur = MaPlage2.Find(Cel, LookIn:=xlValues)
        If Not Valeur Is Nothing Then
            MsgBox "Le contrat " & Cel & " a été trouvé à l'adresse " & Valeur.Address & " de la feuille F2"
        End If
    Next
 
    Set Ws1 = Nothing
    Set Ws2 = Nothing
End Sub
Cordialement.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h35   #3
 
Inscription : octobre 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 10
Points : -1
Points : -1
merci beaucoup je vais l'essayer et voir si j'aurai le résultat souhaité
barbie-9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h56.


 
 
 
 
Partenaires

Hébergement Web