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 :

[VBA-Excel] Remplacement de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 66
    Points : 42
    Points
    42
    Par défaut [VBA-Excel] Remplacement de données
    Bonjour à tous,
    Je dispose de 7 fichiers Excel, qui contiennent chacun la même structure.
    Une colonne de ces fichiers contient des codes.
    Certains de ces codes ne sont plus valables, et ont été mis à jour.
    Je dispose d'un deuxième fichier Excel qui contient dans une colonne le code ancien
    avec le nouveau code dans une colonne à côté.

    Je voudrai mettre à jour les codes dans chacun de ces fichiers.

    Voici un exemple :

    Fichier1.xls (de même pour les 6 autres fichiers)

    Colonne6
    01LA
    02LA
    03LA
    560A
    etc..


    FichierCorrespondance.xls

    colonne1 colonne2
    01LA 482Z
    02LA 235S
    03LA 692X

    Voici ce que je voudrai obtenir

    Fichier1.xls (de même pour les 6 autres fichiers)

    Colonne6
    482Z
    235S
    692X
    560A
    etc..

    Je ne connais pas assez pour développer qque chose en vba

    D'avance, Merci à tous pour vos réponses

  2. #2
    Membre régulier
    Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 156
    Points : 105
    Points
    105
    Par défaut
    Bonjour elkhy

    Je vais essayer de t'apporter mon aide, mais il me faut du temps pour élaborer le code nécessaire. Pas de difficulté majeure pour la réalisation de la procédure. Donc, en commençant aujourd'hui à y réfléchir, je devrais te fournir le code d'ici la fin du week-end. A bientôt

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    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
    Sub TrierClasserRanger()
        Fich1 = "Classeur1" ' à remplacer -> Fichier1.xls
        Fich2 = "Classeur2" ' à remplacer -> FichierCorrespondance.xls
        Workbooks.Open Filename:=Fich2 'Je suppose que ton code est dans Fich1
        Worksheets("Feuil1").Select
        'Workbooks.Open Filename:=Fich1 'Fichier1 est déjà ouvert
        Workbooks(Fich1).Activate
        Worksheets("Feuil1").Select
        DernièreLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
        'Je suppose que les anciennes références se trouvent dans la colonne 1 des deux fichiers
        NoCol = 1
        For i = 1 To DernièreLigne
            With Workbooks(Fich2).Worksheets("Feuil1").Cells
                Set trouvé = .Find(Cells(i, NoCol).Value, LookIn:=xlValues)
                If Not trouvé Is Nothing Then
                    NoLigne = NoLigne + 1
                    Workbooks(Fich1).Worksheets("Feuil1").Cells(NoLigne, NoCol).Value = _
                    Workbooks(Fich2).Worksheets("Feuil1").Cells(trouvé.Row, 2).Value
                End If
            End With
        Next
    End Sub
    N'oublie pas de déclarer les variables
    Comme tu dis que tu as 7 fichiers, tu mets leurs noms dans le tableau Fich2(), tu remplaces Fich2 par Fich2(n)
    et tu ajoutes la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For n = 1 to Ubound(Fich2)
    'avant
       For i = 1 To DernièreLigne
            With Workbooks(Fich2(n)).Worksheets("Feuil1").Cells
    '......
     
    Next n
    Tu dis

    Psst' : pour faire ça, tes 7 fichiers doivent être ouverts mais tu peux les ouvrir et les fermer au fur et à mesure...

Discussions similaires

  1. [Débutant] VBA Excel : remplacement rapide de liens hypertextes.
    Par Bangalore dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/08/2006, 14h39
  2. [VBA Excel]Envoie de données sur port serie
    Par Farbin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/08/2006, 08h05
  3. [VBA Excel] Tableau avec données du userform et de formules
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2006, 13h29
  4. Réponses: 4
    Dernier message: 24/02/2006, 22h54
  5. [VBA Excel] Extraction de données
    Par tpv72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/09/2005, 21h49

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