Macro qui en lance une autre (revenir en arrère)

Résolu/Fermé
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 9 avril 2013 à 22:31
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 10 avril 2013 à 00:00
Bonjour,

J'espère que vous allez bien! Petite question :
à l'intérieur d'une macro j'en appelle une autre : il s'agit de traduire mes labels de mon formulaire en Anglais selon le fournisseurs choisis dans une CBox

ça fonctionne, seule chose est si je rechange de fournisseur dans ma Cbox pour un qui devrait être en français.. ça reste en Anglais quand même.. Je ne suis pas une pro mais je ne vois pas pourquoi cela ne revient pas.. Suis-je obligée de faire une 2ème macro pour le mettre en français? Quand je change exemple de fournisseurs, les autres changements se font, c'est juste mes labels qui restent en Anglais.. Suis-je obligée de créer une macro ex : Traduire Français ou il y a un moyen que les nom des labels reviennent par défaut ?

voici mon code :
Private Sub cbox_adressefournisseur_change()


If Cbox_adressefournisseur.Value = "JD Irving : 632 Rue Principale Clair NB" Then
Cbox_adressecourriel.Value = "Dube.Denis@jdirving.com"
Tbox_détail.Value = "Denis Dubé"
Cbox_transport.Value = "Irving"
Else
End If
If Cbox_adressefournisseur.Value = "Billot Select : 3677 Rue Lévis, Lac Mégantic Qc" Then
Cbox_adressecourriel.Value = "ventes@billotsmegantic.com"
Tbox_détail.Value = "Pierre Grenier"
Cbox_transport.Value = "Bolduc(Billot Select)"
Else
End If
If Cbox_adressefournisseur.Value = "Bois Saxby : 8751 Blvd Bourque, Sherbrooke Qc" Then
Cbox_adressecourriel.Value = "saxby@abacom.com"
Tbox_détail.Value = "Tommy Brière"
Else
End If
If Cbox_adressefournisseur.Value = "Scierie Labranche 25 Ch. du moulin, St-Isidore de Clifton,Qc" Then
Cbox_adressecourriel.Value = ""
Tbox_détail.Value = "Michel Labranche"
Else
End If
If Cbox_adressefournisseur.Value = "Empire Forest Product, 2880 Headon Forest Dr , Burlington, ON" Then
Call TraduireAnglais
Cbox_adressecourriel.Value = "dlindsay7@cogeco.ca"
Tbox_détail.Value = "Darren Lindsay"
else
End If
If Cbox_adressefournisseur.Value = "Scierie Préverco, 345 6ème Rue, Daveluyville, Qc" Then
Cbox_adressecourriel.Value = "jlmoisan@preverco.com"
Tbox_détail.Value = "Jean-Luc Moisan"

Else
End If

End Sub

Private Sub TraduireAnglais()

Label4 = "SUPPLIER ADRESS"
Label5 = "DETAILS"
Label6 = " ASKING DATE"
Label7 = "TERMS"
Label8 = "CARRIER"
Label9 = "F.O.B."
Label10 = "BUYER"
Label13 = "QUANTITY"
Label1 = "PURCHASE ORDER"
label75 = "COMMENTS"
Label15 = "CURRENCY"
Label19 = "APPROUVED BY"
Label18 = "ONLY FRESH SAW WOOD" & Chr(10) & "NO STAINS OR DECOLORATION" & Chr(10) & "1 TALLY/BUNDLE" & Chr(10) & "CONFORM TO N.H.L.A RULES"
Label21 = "THIS IS THE ORIGINAL PURCHASE ORDER, YOU WILL NOT RECEIVED ANOTHER ONE BY MAIL"
If Cbox_adresselivraison.Value = "SKF" Then
Label20 = "35 RUE LAJEUNESSE" & Chr(10) & "KINGSEY FALLS  QC" & Chr(10) & "ONLY BY APPOINTEMENT" & Chr(10) & "819-363-5870" & Chr(10) & "mbrousseau@sechoirskingseyfalls.com" & Chr(10) & "Monday to Thursday : 7:00 to 15:30" & Chr(10) & "Friday :7:00 to noon"
End If
End Sub



merci beaucoup à l'avance de votre aide
Mélanie
A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
9 avril 2013 à 23:20
Bonjour,

Tes labels ne sont qu'un texte et donc si tu le mets en anglais il ne reviendra en français que lorsque tu vas réinitialiser ton formulaire.

Donc il serait plus judicieux de faire une
Private Sub ini_labels(langue)
que tu lances avec "F" ou "A" et qui mette les bonnes valeurs.
1
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 4
9 avril 2013 à 23:23
Bonjour Gbinforme

C'est bien ce que je pensais.. merci beaucoup de votre coup de main

Mélanie
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
Modifié par Le Pingou le 9/04/2013 à 23:21
Bonjour,
Je veux bien regarder ou est le problème, pouvez-vous préciser un cas ... !
Au passage, j'ai constaté que les noms fournisseur et leurs adresse sont dans la maco, je pense que ce n'est pas bien car pour une modification de nom vous devez corriger le code.... !



Salutations.
Le Pingou
0
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 4
9 avril 2013 à 23:25
Bonjour

La réponse de Gbinforme répond à ma question.. pour ton commentaire à propos du nom des fournisseurs dans le code, tu as raison, je me disais justement que ce n'étais pas une bonne idée :)
je travaille ça
encore merci à vous deux
0
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 4
9 avril 2013 à 23:21
Bonjour Et merci :)

Quand je choisi le fournisseur suivant : (à date c'est le seul que j'ai en Anglais)
If Cbox_adressefournisseur.Value = "Empire Forest Product, 2880 Headon Forest Dr , Burlington, ON" Then
Call TraduireAnglais
Cbox_adressecourriel.Value = "dlindsay7@cogeco.ca"
Tbox_détail.Value = "Darren Lindsay"

Tout ça change bien.. Si je choisis n'importe quel autre fournisseur en premier pas de problème ça reste en Français..

Mais si dans la Cbox je choisis le fournisseur ci-haut "empire Forest Product" et que disons je me dis : oups c'est pas lui que je voulais prendre mais n'importe quel autre.. je change ma cbox pour une autre fournisseurs, ça change ma Cbox_adressecourriel comme prévu, même chose pour ma tbox_détail mais les labels reste en Anglais.. comme si une fois que la macro Traduire Anglais avait sélectionnée une fois, ça ne pouvais pas revenir en arrière.. je ne sais pas si je suis assez claire..

encore merci de ton temps
Mélanie
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
9 avril 2013 à 23:49
Bonsoir,

ça ne pouvais pas revenir en arrière..

Cela revient en français seulement si tu réinitialises car tu as mis tes labels en français directement sur le label alors que tes cbox sont dynamiques en fonction de ton choix.

Pour que "ça revienne" il faudrait initialiser tes labels en fonction de ton choix :
If "langue"(Cbox_adressefournisseur.Value) = "anglais" Then
Call TraduireAnglais
Else
Call MonFrançais
end If
0
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 4
10 avril 2013 à 00:00
merci beaucoup :) très apprcié
0