Importer une macro et la faire fonctionner

bb123

XLDnaute Nouveau
Bonjour,
J'ai reçu des fichiers Excel ainsi qu'une macro (format .bas) permettant de traduire les lignes et les colonnes du chinois à l'anglais et vis-versa, à partir d'un fichier excel tiers ou toutes les traductions sont déjà faite.

Je souhaiterai faire marcher cette macro sur l'ensemble de mes fichier excel reçu (c'est une de mes missions de mon stage en chine..) mais je n'y arrive désespérément pas..
Un message "impossible d’exécuter la macro..." s'affiche, pourtant, j'ai bien activé les macros..

Je ne suis pas un expert de VBA et macro, loin de là même, mais si quelqu'un voit ce que je souhaite faire et pourquoi cela ne marche pas, ce serait magnifique :)

Ps: Comme je souhaite faire fonctionner cette macro sur plusieurs ficher excel, je l'ai enregistrée dans classeur des macro personnelles

Merci beaucoup d'avance à celui ou celle qui pourra me venir en aide
 

bb123

XLDnaute Nouveau
Re : Importer une macro et la faire fonctionner

Bonjour Roland,

Je t'ai joint le code, le fichier avec les trad d'ou, me semble t'il, la macro prend les trad des mots chinois et enfin, un fichier exemple pour voir si cela marche.

Je ne sais pas si je suis très clair, je continue de mon coté a chercher, je vais peut-être finir par réussir :)
 

Pièces jointes

  • exampleFile.xlsx
    10 KB · Affichages: 20
  • GAPICtranslate.zip
    1.1 KB · Affichages: 19
  • lexicon.xlsx
    14.1 KB · Affichages: 71

Staple1600

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

Bonjour à tous

bb123 [highlight][Bienvenue sur le forum][/code]
1) le fichier lexicon.xlsx est-il au bon endroit ?
' Setup the lexicon lookup
lexiconPath = "D:\GAPIC\"
lexiconName = "lexicon.xlsx"
et si oui est-il ouvert avant de lancer la macro ?
'the workbook containing the lexicon needs to be opened for the macro to work.
'that part can probably be improved
 
Dernière édition:

bb123

XLDnaute Nouveau
Re : Importer une macro et la faire fonctionner

Je pense que cela vient de l'emplacement du fichier lexicon.xlsx mais je ne suis pas sûr de l'endroit dans lequel je suis censé le mettre..
Je l'ai mis avec le fichier GAPIC, C:\Users\<user name>\AppData\Roaming\Microsoft\Excel\XLSTART
 

Staple1600

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

Re, _______________________________EDITION: Bonjour Roland_M

bb1023
Tu n'as pas lu mon précédent message ??

Soit tu changes le chemin dans le code VBA
Soit tu as un bien un lecteur D dans lequel existe un dossier GAPIC dans lequel se trouvera lexicon.xlsx
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

Bonjour,

salut Staple

alors j''ai réussi à faire fonctionner cette macro très simplement

1) tu crées un classeur (Classeur1)
2) tu fais importer la macro (tu dézippes bien entendu) zip d'ailleurs inutile !
3) j'ai pris une colonne de données dans le fichier exemple que j'ai collée simplement dans ce classeur1 (celui avec la macro)
4) j'ai mis le chemin où j'avais mis tes fichiers !!!
5) j'ai fais F5 sur la macro: Sub Tabletranslate()
6) et j'ai sélectionné comme demandé par inputbox la colonne de donnée

et le résultat était bien là ! x.jpg
 

Pièces jointes

  • x.jpg
    x.jpg
    158.4 KB · Affichages: 28
  • x.jpg
    x.jpg
    158.4 KB · Affichages: 28
Dernière édition:

bb123

XLDnaute Nouveau
Re : Importer une macro et la faire fonctionner

Re bonjour Roland,

bonjour Staple

Je suis désolé, je dois être un peu une buse sur les macro etc, je ne me sert jamais d'excel d'habitude, j'utilise d'autres logiciels mais là, je n'ai pas le choix alors je rame un peu.
Pourrai tu "détailler" comment tu es arriver à ce résultat notamment les trois dernières étapes que je ne suis pas sur de comprendre.

Merci beaucoup pour ton aide en tout cas, je sent que je touche au but :)
 

Staple1600

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

Re

bb123
Tu as bien respecté ce que je disais plus bas ?

Soit tu changes le chemin dans le code VBA
Soit tu as un bien un lecteur D dans lequel existe un dossier GAPIC dans lequel se trouvera lexicon.xlsx
(Ce que Roland_M a fait:
4) j'ai mis le chemin où j'avais mis tes fichiers)

Le fichier lexicon.xlsx doit être à l'endroit stipulé dans la macro.

Donc on peut soit changer l'emplacement dans le code VBA, soit mettre le fichier dans le dossier indiqué initialement dans la macro.

Donc d’après ce tu as dit précédemment il faudrait faire ce changement par exemple
Code:
 'Setup the lexicon lookup
lexiconPath = "C:\Users\<user name>\AppData\Roaming\Microsoft\Excel\XLSTART\"
lexiconName = "lexicon.xlsx"
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

re

alors reprenont tout depuis le début !

1) tu mets dans un répertoire de ton choix exemple dans C:\Essai
les 3 fichiers suivant:
Classeur1.xlsm (c'est le classeur avec le Module1 où j'ai mis les macros GAPICtranslate.bas)
exampleFile.xlsx (qui ne sert comme indiqué pour copier des exemples)
lexicon.xlsx

2) tu fais un copier d'un range sur une colonne de données du fichier exampleFile.xlsx
3) tu fais coller dans le classeur1 dans cellule A1
4) va côté vba Alt+F11
tu clic sur le Module1 pour l'éditer et tu modifies le chemin
lexiconPath = "C:\Essai\" 'à la place de "D:\GAPIC\"
5) tu fais F5 sur la macro: Sub Tabletranslate()
il te restera à sélectionner ce champ de données qui te sera demandé par inputbox

et voilà !

tout ceci est tordu parceque mal conçu !
tu devrais avoir des saisies par boîte de dialogue !
normalement tu ne devrais pas à aller dans le code !
si j'ai le temps je te fais ça !
en attendant reprend le classeur1
 

Pièces jointes

  • Classeur1.xlsm
    19.8 KB · Affichages: 23
  • Classeur1.xlsm
    19.8 KB · Affichages: 27
  • Classeur1.xlsm
    19.8 KB · Affichages: 23
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

Re

Roland_M
Il faut bien changer le path dans le code, non ???
' Setup the lexicon lookup
lexiconPath = "D:\GAPIC\"
lexiconName = "lexicon.xlsx"

EDITION I: Ce que tu viens d'ajouter dans ton édition de 11h34
On est d'accord ;)
Chose que j'avais écrit à 10h34 mais que bb123 n'a soit pas vu soit pas compris ;)

EDITION II: Il y a déjà dans le code une sélection par InputBox (boite de dialogue?), non ?
Code:
Private Function RangeSelector() As Range
'Prompts the user for selecting a range on the spreadsheet
' Select the range to be translated
Prompt = "Select the range of cells to be translated."
Title = "Area selection"
'Display the Input Box
On Error Resume Next
Set RangeSelector = Application.InputBox(Prompt:=Prompt, Title:=Title, Default:=ActiveCell.Address, Type:=8)
'Range selection
On Error GoTo 0
'Was the Input Box canceled?
If RangeSelector Is Nothing Then
    MsgBox ("Canceled")
End If
End Function
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Importer une macro et la faire fonctionner

re

je parlais de la boîte pour saisir le répertoire pour qu'il n'est pas à aller dans le code !

ce que j'ai fais dans celui-ci !
 

Pièces jointes

  • Classeur2.xlsm
    22.6 KB · Affichages: 25
  • Classeur2.xlsm
    22.6 KB · Affichages: 41
  • Classeur2.xlsm
    22.6 KB · Affichages: 39

bb123

XLDnaute Nouveau
Re : Importer une macro et la faire fonctionner

Bonjour Roland et Staple,

Pardon de seulement vous répondre maintenant mais entre le travail et le décalage horaire, je ne vois vos message que ce matins.

Merci beaucoup pour votre aide car c'est bon, tout roule comme je le voulais grâce à vous, mes macro marchent pour tous mes documents, c'est magnifique :) (c'était bien lié au fait qu'il faillait modifier le code afin de mettre le bon emplacement pour le fichier lexicon)

Je n'ai plus qu'un petit souci, je ne peux exécuter mes macros sur tous mes documents que si le classeur1 que Roland m'a envoyé est ouvert (car du coup les macros s'ouvrent dans tous les documents excel ouverts), mais cela doit sans doute être due au fait qu'il faut que j'applique mes macros directement pour tous mes documents, je vais regarder ça tranquillement.

Merci encore :)
 

bb123

XLDnaute Nouveau
Re : Importer une macro et la faire fonctionner

Bonjour Roland et Staple,

Pardon de seulement vous répondre maintenant mais entre le travail et le décalage horaire, je ne vois vos message que ce matins.

Merci beaucoup pour votre aide car c'est bon, tout roule comme je le voulais grâce à vous, mes macro marchent pour tous mes documents, c'est magnifique :) (c'était bien lié au fait qu'il faillait modifier le code afin de mettre le bon emplacement pour le fichier lexicon)

Je n'ai plus qu'un petit souci, je ne peux exécuter mes macros sur tous mes documents que si le classeur1 que Roland m'a envoyé est ouvert (car du coup les macros s'ouvrent dans tous les documents excel ouverts), mais cela doit sans doute être due au fait qu'il faut que j'applique mes macros directement pour tous mes documents, je vais regarder ça tranquillement.

Merci encore :)
 

Discussions similaires

Réponses
2
Affichages
323

Statistiques des forums

Discussions
312 393
Messages
2 088 006
Membres
103 695
dernier inscrit
acimi