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 :

Aide programme associer des mots VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Aide programme associer des mots VBA
    Bonjour à tous,
    Je suis débutant en VBA et j'essaie de réaliser un programme VBA pour associer automatiquement les traductions des mots les plus utilisés dans une liste.
    J'ai préparé un fichier exemple avec des fruits mais le principe est le même : une colonne Liste complète avec des mots qui se répètent, une colonne Français (occurence) = les plus fréquents et une colonne Anglais avec les traductions des plus fréquents. Le tout en ordre alphabétique pour faciliter le programme. Je cherche donc à remplir la colonne "Traduction" avec les traductions de la colonne B et laisser les mots les moins utilisés non traduits.
    J'ai essayer de faire ce programme, mais ça ne marche pas :
    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
    Sub assocation()
     
     
    Dim Liste As String
    Dim Français As String
    Dim Anglais As String
    Dim i As Integer
    Dim j As Integer
     
    i = 1
    Liste = Cells(1, 3)
    Français = Cells(1, 1)
    Anglais = Cells(1, 1)
     
     
    If Mots_Clefs = Occurence Then
     
    Dim Traduction As String
    Liste = Cells(i, 3)
    Français = Cells(i, 2)
    Anglais = Cells(i, 1)
    Traduction = Cells(i, 4)
    Traduction = Anglais
    i = i + 1
     
     
    Else
    i = i + 1
     
    End If
     
    End Sub
    Quelqu'un peut me dépanner ?
    Merci d'avance
    Franck

  2. #2
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Déjà je ne vois pas trop l'utilité d'un code alors que déjà avec le B-A-BA d'Excel,
    à savoir une simple formule de feuille de calculs,
    une équivalence peut facilement être trouvée via par exemple RECHERCHEV ou encore EQUIV et INDEX
    Commencer de ce côté là via l'aide d'Excel.

    Ensuite si vraiment nécessaire, ces mêmes fonctions sont utilisables dans un code et souvent bien plus efficaces
    qu'une simple boucle sauf si on aime les usines à gaz;  tout dépendant aussi du volume à traiter …

    Voir aussi du côté de la méthode VBA Range.Find

    Autre usage du forum : peu ou prou n'ouvrent de pièce jointe non expressément demandée
    surtout celles contenant du code !   Pour rappel :   Fichiers joints dans les discussions   …

    Et souvent cela n'empêche pas le besoin d'une présentation digne de ce nom, claire & exhaustive !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci Marc de ta réponse.

    Je pensais avoir bien exposé ma demande, je n'aurais pas du rajouter le fichier, je vais l'enlever.

    Je comprends aussi que ce forum ne s'adresse pas aux débutants. je ne vais donc pas vous embêter plus longtemps et continuer à essayer de résoudre mon problème par moi-même.
    Merci, à la prochaine quand je serai devenu un pro

  4. #4
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Ce n'est pas réservé aux pros, mais ici comme sur un autre forum on ne livre pas clef en main,
    on ne donne pas de poisson, on apprend à pêcher …
    Ceux qui s'y sont pliés sont depuis autonomes et certains font même partie des intervenants réguliers.

    Donc il suffit juste de bien expliquer la structure des données, les tenants et les aboutissants,
    d'où tu pars et où tu veux arriver, afin de juste obtenir de l'aide à la hauteur des explications fournies !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Je vois que le demandeur a cliqué sur le tag RESOLU.
    Je l'invite nonobstant à se relire, à être précis, etc ... (autant qu'on peut espérer que sache le faire celui qui exerce le métier qu'il annonce).
    On commence (s'il le veut bien) par la définition et la détermination des mots les "plus fréquents". Elle est plutôt ... vaste ... non ?
    Autant je sais ce qui est "le plus fréquent", autant j'ai des difficultés à définir les mots (donc plusieurs) qui seraient LES plus fréquents. Je ne saurais le faire qu'à condition de déterminer à partir de quel pourcentage de présence ils sont considérés comme "LES plus fréquents".
    Serais-je fou, de commencer par là ? -->> j'attends sa réponse.
    Qui dit fréquence, dit pourcentage. Qui dit pourcentage, dit décompte du nombre d'apparitions et comparaison à un nombre total. Qui dit nombre d'apparitions, dit, entre autre, utilisation d'une méthode. Je lui suggère de s'intéresser à la méthode WorksheetFunction.CountIf, Ce sera un début.
    Je l'invite donc à commencer par là, avec toute ma "tolérance".
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Ici c'est un forum d'entraide et le prix de l'inscription est zéro étoiles!

    Les pros on pour principal vocation de venir en aide aux plus faible!
    Nous avons à cœur d'être le plus pédagogique possible afin qu'il reste quelque chose utile à tous au cour de nos échanges.

    Faire le travail ce n'est pas la vocation de ce forum,mais permettre aux demandeur d'acquérir la compétence primordial pour résoudre ses problèmes seule oui!

    Nous t'accueillons à bras ouvert mais ne t'offusque si on te rappelle les règles du forum!

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci "unparia" et "dysorthographie" pour vos réponses.
    unparia, si j'ai marqué le sujet comme "résolu", c'était pour ne pas déranger plus que ça votre communauté.
    dysorthographie, je ne me suis pas offusqué du rappel des règles, au contraire, j'ai essayé de rectifier mes erreurs.

    Si je me suis permis de dire que ce forum n'est pas pour les débutants, c'est parce les réponses que j'ai reçu sont plus de l'ordre du jugement que de l'entraide. Je ne vois pas l'intérêt de poster dans un forum si c'est pour que les réponses soient du genre : "tu ne sais pas exposer ton problème", "apprends ce qu'est une occurrence", "ton problème c'est plus le B-A BA d'Excel". Je ne vois pas ce que ça apporte. Vous êtes très fort, je suis ignorant, j'ai compris, merci.

    Encore une fois je me répète, pardon de vous avoir pris du temps pour rien. Je vais me débrouiller.

    A dans quelques mois ou années quand je serai plus aguerri ...

  8. #8
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    @Franck6979

    Plutôt essaies de ré-expliquer le problème car ce n'est pas clair (Surement il l'est pour toi)

    On ne va pas te décourager ainsi mais aussi il faudrait accepter les orientations des intervenants.

    Si Marc_L que je salue te dis qu'avec le ba ba d'Excel, ce n'est surement pas pour te décourager mais dans le sens il t'oriente vers une piste qui serait peut être plus facile
    Si unparia que je salue aussi te dis de bien définir l'expression "LES plus fréquents" c'est qu'il a tout à fait raison.

    Allez reviens avec plus de courage et laisse l'excès "d'amour-propre négatif" qui n'est d'aucune utilité.
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AIDE] Programme état des disques = erreur
    Par stalck dans le forum VBScript
    Réponses: 3
    Dernier message: 26/03/2012, 16h09
  2. Réponses: 5
    Dernier message: 01/07/2008, 16h36
  3. associer des mots clés à un fichier
    Par yorukaze dans le forum Windows XP
    Réponses: 2
    Dernier message: 17/12/2007, 12h13
  4. Réponses: 4
    Dernier message: 24/04/2007, 10h18
  5. Association des programmes aux fichiers: icônes
    Par jamesb dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/01/2005, 19h17

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