|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() retraité Inscription : juillet 2011 Messages : 28 ![]() |
Bonjour
Je débute en vba et la je me heurte à un problème Je n'arrive pas à effectuer une somme en fonction de deux critères de sélection. Le pire c'est que la formule fonctionne sur un autre fichier alors je sèche. Pouvez vous m'aider ? Merci Code :
|
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 899 ![]() |
Bonjour,
Dans un premier temps, afin de lever tout qui propos, je te conseil de spécifier la propriété Value Code :
If .Range("Z" & i).Value = DateChequeJourEntier And .Range("F" & i).Value = "Chèque" Then La variable DateChequeJourEntier est de type variant, mais prend un type entier après ce code. Code :
DateChequeJourEntier = (CDbl(DateChequeJour))
__________________
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.
|
|
|
|
11
|
|
|
#3 | ||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Une autre proposition (sans boucler inutilement sur plus de 60 milles lignes)
La fonction suivante fait la somme de tous les montants de la la colonne T dont la colonne F contient Chèque et la colonne Z la date d'aujourd'hui Une seule restriction est obligatoire: Toutes les données de la plage T3:Txx doivent être numériques (ou vides) Code :
Code :
__________________
Cordialement. |
||||
|
|
10
|
|
|
#4 |
|
Invité de passage
![]() retraité Inscription : juillet 2011 Messages : 28 ![]() |
bonjour,
merci pour vos réponses merci Mercatog pour tes lignes de code. j'avais bien vu que je testais sur 65000 lignes et que cela était inutile et que cela ralentissait aussi l'exécution du prog. je contais résoudre ce pb par la suite, une chose a la fois. dans ce code vous dites " la colonne Z la date d'aujourd'hui" sous quel forme entendez vous cela ? 17/09/2011 ou 40803 dans mon prog la colonne Z contient la date sous la forme de chiffre ex 17/09/2011 ---> 40803 et c'est bien cette valeur "40803" qui est présente en colonne Z |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 899 ![]() |
Citation:
__________________
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.
|
||
|
|
10
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Citation:
Une date dans une feuille excel est 40803 (mais l'affichage peut être 17/09/2011, 17 septembre 2011 ou 17.9.11) n'imprte, c'est seulement un format. Cherches des tutos dans ce sens. Notamment celui-ci
__________________
Cordialement. |
|
|
|
10
|
|
|
#7 |
|
Invité de passage
![]() retraité Inscription : juillet 2011 Messages : 28 ![]() |
re bonjour
le code proposé me donne 0 alors qu'il devrait me donner 6+8=14 mais c'est certain c'est xxxx fois plus rapide alors je sais bien que je debute en vba mais j'y comprends vraiment de moins en moins d'autant plus que le code pour cette appli est un copier coller d'un premier soft qui lui me donne la reponse. dans la deuxieme version j'ai juste enlevé qq boite qui n'etaient pas necessaires : boite entrée de date du jour remplacée par now voila mon casse tête |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
J'ai bien mis Date à la place de Now
Date donne la date d'aujourd'hui (sans les décimales des heures) [EDIT] Sinon, si dans ta colonne Z tu as des dates avec les heures, la fonction serait Code :
__________________
Cordialement. |
||
|
|
10
|
|
|
#9 |
|
Invité de passage
![]() retraité Inscription : juillet 2011 Messages : 28 ![]() |
voila je joint le code du projet
je sais qu'il est pas tres propre et qu' il y a certainement des incoherences ainsi que des betises de debutant merci d'etre clement |
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Comme ça ça l'aire de fonctionner proprement
Code :
__________________
Cordialement. |
||
|
|
20
|
|
|
#11 |
|
Invité de passage
![]() retraité Inscription : juillet 2011 Messages : 28 ![]() |
merci Mercatog
cela fonctionne super bien je vais essayer de decortiquer ce bout de code afin de le comprendre et de bien sur evoluer en vba je pense que je vais venir souvent sur ce site merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com