lilikel
Messages postés20Date d'inscriptionlundi 4 août 2008StatutMembreDernière intervention12 septembre 2008
-
13 août 2008 à 11:39
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 2013
-
18 août 2008 à 12:43
Bonjour a tous,
Je suis en train de creer un formulaire pour la societe pour laquelle je travaille et je souhaiterais creer une macro qui modifierait le format d'une cellule possedant un nombre.
En decode: j ai la zone b29:d29 qui contient un menu deroulant proposant trois possibilites: pound, euro et dollar.
Je souhaiterais que la zone b30:d30 (ou sera saisi une valeur) se parametre par le biais d'une macro selon le choix emis. Par exemple, si on choisi "pound" en b29:d29 la cellule sera sous format comptable, avec deux chiffres apres la virgule et suivi du symbole £ et ainsi pour les deux autres choix.
J ai regarde par le biais du format conditionnel mais malheureusement on ne peut pas modifier le format des nombres.
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 17 août 2008 à 23:01
Bonsoir Lilikel ,
J'ai regardé ton problème et je te propose une programmation sachant il y a
plusieurs solutions et que je ne connais pas ta feuille de saisie.
Pour faire fonctionner ce code, si j'ai compris ton explication,
il faut :
- inserer sur la feuille 1 depuis la boite à controles , le composant
"Combobox" que tu nommera "ComboboxMonnaies" sur les cellules b29:d29
Ici , j'utilise un combobox pour créer un menu déroulant
Si t'utilise la feuille 2 , mettre dans le code Feuil2.......etc
- fusionner les cellules b30:d30.Cette cellule deviendra la b30.
- Et copie ce code:
Private Sub Workbook_Open()
'--------METTRE CE CODE SUR THISWORKBOOK------------------
'Vide la liste du combobox
Feuil1.ComboBoxMonnaie.Clear
'Rend le combobox non modifiable
Feuil1.ComboBoxMonnaie.Style = fmStyleDropDownCombo
'Remplissage des 3 monnaies dans combobox
Feuil1.ComboBoxMonnaie.AddItem "Euro (€)"
Feuil1.ComboBoxMonnaie.AddItem "Dollar ($)"
Feuil1.ComboBoxMonnaie.AddItem "Pound (£)"
End Sub
---------------------------------------------------------------------------
Private Sub ComboBoxMonnaie_Click()
'--------METTRE CE CODE SUR FEUIL1------------------
If Feuil1.ComboBoxMonnaie.ListIndex = 0 Then
'formate en livre
Feuil1.Range("B30").NumberFormatLocal = "# ##0.00€"
ElseIf Feuil1.ComboBoxMonnaie.ListIndex = 1 Then
'formate en euro
Feuil1.Range("B30").NumberFormatLocal = "# ##0.00$"
ElseIf Feuil1.ComboBoxMonnaie.ListIndex = 2 Then
'formate en dollar
Feuil1.Range("B30").NumberFormatLocal = "# ##0.00£"
End If
'Enregistre le classeur
ActiveWorkbook.Save
lilikel
Messages postés20Date d'inscriptionlundi 4 août 2008StatutMembreDernière intervention12 septembre 2008 18 août 2008 à 11:06
Merci dedenet2.
Ce code n a pas marche avec ma feuille ( parce que comme tu l as dit je n ai pas fourni tous les details sur ma feuille, desolee ) mais m a permis d en creer un autre.
Vbe n appreciait pas la fin du code place sur this workbook.
Mais ton idee de combobox m a ete tres utile. J ai cree un combobox auquel j ai refere les elements que je voulais voir apparaitre dans ma liste et j ai indique la cellule b29 comme cellule liee a ce combobox.
Puis j ai assignee au combobox une macro qui correspond a ce que tu me proposais pour l evenement click.
ca donne
Sub ComboBoxMonnaie()
If Range("b29") = "1" Then
Range("B30").NumberFormatLocal = "# ##0.00£"
ElseIf Range("b29") = "2" Then
Range("B30").NumberFormatLocal = "# ##0.00€"
ElseIf Range("b29") = "3" Then
Range("B30").NumberFormatLocal = "# ##0.00$"
End If
End Sub
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 18 août 2008 à 12:18
Bonjour Lilikel ,
Comme tu le dis et vue la complexité de mise en forme en général avec VBA Excel,Il est difficile de bien répondre aux problémes.
Les codes que j'envoie sont testés sur Excel 2000 et il est possible que
certaines instructions ne fonctionnent pas bien sur d'autres versions d'Excel.
Quoi qu'il en soit , j'essaie de proposer une quelque chose et même si cela ne
correspond pas exactement , peut vous aiguiller sur une autre solution.
Cordialement
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 18 août 2008 à 12:43
re-bonjour
Je n'ai pas du tout ressenti de mal de ta part.
J'ai simplement expliqué comme je procedais.C'est peut être moi qui
c'est mal exprimé.
Si tu as un autre problème de programmation,n'hésite pas à m'en faire part.
Je t'aiderai si je peux le faire.
Bon travail.
A++