Bonjour à tous,
dans le fichier ci-joint j'ai un code qui me permet en cliquant sur le bouton MO de l'onglet MO Qte de faire la répartition du montant entré et le résultat je l'ai sur l'onglet ODA MO
ce que je désire modifier dans le code c'est :
les valeurs de la colonne G de l'onglet ODA MO doit dépendre de la colonne L de l'onglet ODA MO comme suit :
si les valeurs de la colonne L de l'onglet ODA MO font partie de la sélection A118: A146 de longlet MO Qte alors le résultat doit être 1988 sur la cellule de la colonne G de l'onglet ODA MO. mais si ces valeurs ne font pas partie de cette séléctions alors le résulat doit être 2016
Bonsoir Dranreb,
merci pour ta réponse mais en copiant la ligne sur le code comme tu peux voir sur le fichier ci-joint ca na pas marché le resultat est 2016 dans toutes les ligne toute en sachant que la ligne 14,15, et 16 de l'onglet ODA MO doient contenir 1988 comme resultat
puis la ligne G17,G18,G19 e G20 contiennet 2016 alors que la dernière ligne du tableau est la ligne 16 vu que la tableau est variable est depend des valeurs qu'on mets dans l'onglet MO Qte
ensuite la formule ne doit pas être affiché dans les cellules mais juste le résultat soit 1988 soit 2016
j'ai vu aussi que ta formule depend de la colonne D alors qu'elle doit dependre de la colonne L
c'est exactement ce que je voulais maintenant il reste un petit problème comme vous pouvez voir sur le fichier ci-joint que j'ai mis à jour avec le dernier code
c'est que dans la colonne G de l'onglet ODA MO rien ne doit s'afficher après la ligne de fin de tableau qui est dans ce cas 16...
si je change a nouveau des informations dans la colonne Q de l'onglet MO Qte et la fin de tableau de l'onglet ODA devient par exemple la ligne 26...a partir de G27 toutes les autres cellules doivent être vide
la ligne du haut est pareille à celle du bas mais LAST ne change pas et est utilisé plus loin
last = .Cells(65536, 18).End(xlUp).row 'dernière ligne non vide en colonne R
N = .Cells(65536, 18).End(xlUp).row 'dernière ligne non vide en colonne R
...
...
...
With Feuil11.[G6].Resize(last - 6) ' dernière - la 6e qui est la 1ére en jaune colonne G
Voilà, comme ça par exemple. Mais j'y comprend pas grand chose à tout ça :
Dans cette colonne 18, soit R, il y a marqué "Texte (facultatif)" en R4. Alors ça n'ira pas jusqu'à la fin si les dernières lignes ne sont pas renseignées. Par ailleurs ça commence à la ligne 6. Il me semble qu'il faut donc retrancher les 5 lignes qui précèdent et non pas 6.
Quand même étonnant que le demandeur n'ait pas déjà cette information quelque part dans une variable de sa macro…
Ce ne serait pas N par hasard ? Auquel cas il suffirait de prendre With Feuil11.[G6].Resize(N - 5)
Bonjour.
Si ça donnait le bon résultat sur les N-5 1ères lignes quand vous mettiez 100, il n'y a pas de raison que ça donne un résultat différent sur ces lignes là en mettant N-5.
Pourquoi ne laissez vous pas la formule en majuscules ?
. Il me semble qu'il faut donc retrancher les 5 lignes qui précèdent et non pas 6.
Quand même étonnant que le demandeur n'ait pas déjà cette information quelque part dans une variable de sa macro…
Ce ne serait pas N par hasard ? Auquel cas il suffirait de prendre With Feuil11.[G6].Resize(N - 5)
On fait .Value = .Value derrière pour ça, une fois qu'elle a calculé les valeurs.
Pourquoi ne laissez vous pas en majuscules le codage de cette formule temporaire ?