Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3290 connectés 

 


Dernière réponse
Sujet : [VBA] Pb avec ma boucle while .... Synthaxe sans doute
olicel ouai c bon j'ai compris  :pt1cable:  
 
merci  :jap:  au moins je sais pkoi il me faisait ca

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
olicel ouai c bon j'ai compris  :pt1cable:  
 
merci  :jap:  au moins je sais pkoi il me faisait ca
Sylderon En C tu as 2 opérateurs (= et ==) pour les opérations d'initialisation et de test d'égalité.
En VBA seul l'opérateur = existe pour ces deux opérations.
Dans le cadre d'une instruction While, VBA ne doit pas interpréter = comme une initialisation !
Donc ta formule

Citation :


While ((rangdumois = OccuranceMatricule(matricule, F_JANVIER,rangdumois))<> 0)


n'est pas interprétée comme l'affectation d'une valeur retournée par la fonction, puis sa comparaison à 0 mais comme la comparaison entre rangdumois et le résultat de ta fonction, puis entre le résultat de cette première comparaison et 0.
 
J'espère avoir été clair :)
 
A+

 

[edtdd]--Message édité par sylderon--[/edtdd]

olicel a bon  :??:  
 
be alors je vais faire comme ca...
Mara's dad Solution standard VB :
 
rangdumois = OccuranceMatricule(matricule, F_JANVIER, rangdumois)
While (rangdumois <> 0)
           
           .... le reste
           rangdumois = OccuranceMatricule(matricule, F_JANVIER, rangdumois)
Wend
olicel be voila ca marche mais fo que je fasse ca alors mais ca me fait deux conditions... mais bon c deja beaucoup mieux que deux fois ma fonction, qui est longue en plus ...
 
Bon si j'ai pas d'autre sol je fais ca mais j'aurais aimé comprendre pkoi ce VBA de merde(parce que vraiment ca pu) me fait ca. Avant je faisais du C++, c carrement plus clair comme language
 
alors ma solution ?
olicel ouai ca marche mais je vais faire un tour de trop dans ma boucle la ? j'essaye 2sec
thecoin Je suis pas un specialiste VB,mais essaye un truc du gengre
 
do
 rangdumois = OccuranceMatricule(matricule, F_JANVIER,rangdumois)
while(rangdumois=0)
 
je sais meme pas si le do...while existe en VB :??:
olicel voila j'aimerais faire ca
 
While ((rangdumois = OccuranceMatricule(matricule, F_JANVIER,rangdumois))<> 0)
            .... le reste
Wend
 
mais ca ne marche pas rangdumois ne change pas, c'est comme si ma focntion ne retournais rien, alors j'ai essayé ca :
 
While (OccuranceMatricule(matricule, F_JANVIER,rangdumois)<> 0)
            rangdumois = OccuranceMatricule(matricule, F_JANVIER, rangdumois)
            .... le reste
Wend
 
la ca marche mais je fais 2 fois l'appel a la fonction OccuranceMatricule pour rien, et comme j'essaye d'optimiser mon code ...
 
Donc, pkoi ca me fait ca ?

 

[edtdd]--Message édité par olicel--[/edtdd]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)