|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
Bonjour,
après avoir cherché partout sur la toile ... je me tourne vers vous car je n'ai trouvé aucune solution a mon problème.... j'ai un classeur XL ... avec une feuille ABAQUE une ACCESSOIRE, ACCORDÉON et JOINT... je voudrais sur la feuille JOINT que le résultat du calcul suivant apparaisse dans une cellule .... Sub jointmontants() 'enleve la protection ActiveSheet.Unprotect ("test") 'test logique sur nombre d'element Select Case Range("G6").Value ' ------ ' 1 element Case 1 n = ((G2 * 4 + (1030 * 4) * 2) / 1000) ' ------ ' 2 elements Case 2 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000)) ' ------ ' 3 elements Case 3 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 4 elements Case 4 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 5 elements Case 5 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 6 elements Case 6 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 7 elements Case 7 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 8 elements Case 8 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 9 elements Case 9 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ ' 10 elements Case 10 n = (((G2 * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4) * 4 + (1030 * 4) * 2) / 1000) + (((G2 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2)) + (((G2 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4 + 112.4) * 4 + (1030 * 4) * 2))) ' ------ Entre guillemets pour tester les chaînes de caractères ' ------ Pour toutes les autres valeurs, donc par défaut: Case Else End Select 'remet la protection ActiveSheet.protect End Sub Je ne sais absolument pas comment faire .... j'attache mon fichier a ce message si quelqu'un a une solution ce serais super ! Merci ! |
|
|
00
|
|
|
#2 | ||
|
Membre régulier
![]() Inscription : novembre 2004 Messages : 130 ![]() |
Bonjour,
en dessous de end select vous pourriez mettre ça : Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
Bonjour Olaxius
Quand je rentre ta formule j'ai un message d'erreur 1004 Dim vFlResult As Worksheet Set vFlResult = ActiveSheet vFlResult.Range(U8).Value = N Set vFlResult = Nothing je l'ai mise comme cela |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 907 ![]() |
Bonjour,
Essais avec formulalocal Code :
vFlResult.Range(U8).Formulalocal = "=" & N
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
je vient d'essayer ce matin ta nouvelle formulation mais ça ne marche toujours pas ...
il me colle toujours une erreur 1004 en me disant que la méthode "range" de l'objet _worksheet a échoué. j'ai essayé de placer toute la formule dans un bouton mais rien n'y fait ... il ne veux pas me faire ce calcul |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 907 ![]() |
il te manque les guillemets autour de l'adresse
Code :
vFlResult.Range("U8").Formulalocal = "=" & N
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
Merci !
avec les guillemets ça fonctionne ! c'est super maintenant je m'attaque à la partie suivante !! un grand merci a toi encore ! |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
Me revoilà pour une autre petite question toujours sur le même code ...
j'ai le bout de code suivant : Select Case Range("G6").Value ' ------ ' 1 element Case 1 M = (((1030 * 4) * G6 * 2) + (((G4 + 212) / 2) * 4 * 2)) / 1000 ' ------ ' 2 elements Case 2 quand je tape la formule "= (((1030 * 4) * G6 * 2) + (((G4 + 212) / 2) * 4 * 2)) / 1000" directement sur ma feuille j’obtiens le résultat 29.088 qui est juste ... quand je passe par mon bouton macro .... j'ai 0.848 ... qui est archi faux et je ne trouve pas pourquoi ... |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
j'ai l'impression qu'il y à un problème quand il va chercher la valeur des cellules
G2 ; G6 .... en fait il me prend je ne sais quoi mais pas ce qu'il dois ... |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 693 ![]() |
Bonjour,
Essaie avec Code :
|
||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 16 ![]() |
Ça marche je vais remettre mon code la dedans !
je vous tient au courant merci ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com