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 :

Comparaison de glossaires


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut Comparaison de glossaires
    Bonjour à tous,

    Je souhaite réaliser une macro simple permettant de comparer deux glossaires bilingues (une colonne FR, une colonne EN) situés sur deux feuilles d'un même fichier Excel, afin de récupérer les champs déjà traduits d'un premier glossaire et pour les intégrer au deuxième. Par exemple, j'ai dans mes deux feuilles le terme français "souris". Dans l'une de ces feuilles, sa traduction "mouse" est également présente. Je cherche donc à récupérer cette traduction et à la coller dans la colonne anglaise de la feuille qui n'a pas de traduction...

    Voici le code que j'ai écrit :

    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
    30
    31
    32
    33
    Sub domaines()
    Dim terme_fr As String
    Dim terme_en As String
     
    Workbooks("glossaire_geocaching.xls").Sheets("GPS").Activate
    j = 2
    While Cells(j, 1).Value <> ""
     
    'on stocke le terme fr dans la variable
    terme_fr = Cells(j, 1).Value
     
    'on compare le terme Fr récupéré à l'ensemble des termes de la colonne fr de l'autre feuille
    Sheets("geocaching").Activate
    For Each cellule In ActiveSheet.Cells(1, 1).EntireColumn.Cells
     
    If cellule.Value = terme_fr Then
     
    'on récupère l'équivalent anglais si le terme fr ets également présent dans l'autre feuille
    Sheets("GPS").Activate
    terme_en = Cells(j, 1).Offset(0, 1).Value
     
    'on colle la traduction dans la colonne EN de la feuille
    Sheets("geocaching").Activate
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = terme_en
     
    End If
    Sheets("GPS").Activate
    ActiveCell.Offset(1, -1).Activate
    j = j + 1
    Next cellule
    Wend
    End Sub
    Malheureusement, celui-ci ne fonctionne pas (j'obtiens un message d'erreur "erreur définie par l'application ou par l'objet"), et après plusieurs heures, je bloque toujours.

    Une bonne âme pour me donner un coup de main ?

    Merci d'avance !

  2. #2
    Expert éminent
    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
    Par défaut

    Bonjour, bonjour,

    un message d'erreur certes, mais sur quelle ligne ?

    Et sans voir le classeur …

    Normalement avec une simple formule RECHERCHEV …

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut
    Bonjour,

    Merci pour vote réponse. Le message d'erreur ne précise pas sur quelle ligne se trouve ladite erreur. Pas de surlignage en jaune non plus :/

    Ci-joint le fichier Excel

    Merci !
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent
    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
    Par défaut
    Code à insérer dans le module de classe de "Feuil1 (geocaching)" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CopieAnglaisGPS()
        Dim Cel As Range
     
        With Feuil2.[A1].CurrentRegion
            For R& = 2 To .Rows.Count
                Set Cel = Me.Columns(1).Find(.Cells(R, 1).Value, , xlValues, xlWhole, , , True)
                If Not Cel Is Nothing Then Cel.Offset(, 1).Value = .Cells(R, 2).Value
            Next
        End With
     
        Me.Activate
        End
    End Sub
    _______________ ____________________________________ ______________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut
    Encore merci pour la réponse !

    Malheureusement, je suis débutant en VBA, je ne sais même pas ce que sont les modules de classe... Après quelques recherches, j'ai pigé comment ça fonctionnait, et le code fonctionne nickel, merci beaucoup

    En revanche, je pige rien au code (beaucoup trop compliqué pour moi) et cette macro s'inscrit dans le cadre d'un cours pour la fac... On a le droit de demander des conseils et de se faire aider, mais là, je ne peux pas livrer ça comme ça ^^ Merci quand même pour le coup de main ! Si jamais quelqu'un a la motivation pour me filer un coup de pouce pour rendre opérationnel le code que j'avais initialement écrit, l'aide sera la bienvenue !


  6. #6
    Expert éminent
    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
    Par défaut

    Heureusement que j'ai indiqué le nom complet du module de la feuille …

    Pour trouver l'erreur, se positionner dans le code puis appuyer sur la touche F8 pour progresser en mode pas à pas …

    Pour moi la ligne n°29 déclenche l'erreur et de toute manière n'a aucune utilité ‼

    Ensuite une seconde erreur devrait survenir en ligne n°7 à cause du non contrôle de la variable J en ligne n°30,
    donc logique à revoir …

    Faire un synopsis littéral sur papier de ce qui devrait être fait puis comparer avec le code, cela aiderait !

Discussions similaires

  1. comparaison de 2 dates
    Par eisti dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2003, 11h33
  2. [langage] Comparaison de fichiers
    Par Jibees dans le forum Langage
    Réponses: 3
    Dernier message: 23/04/2003, 16h27
  3. Comparaison de fichier
    Par danzerg dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 11h49
  4. Comparaison JBuilder avec Sun ONE Studio
    Par chichos dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 13/11/2002, 15h08
  5. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25

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