Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déclarations et soustractions de variables

Calvus

XLDnaute Barbatruc
Bonjour le forum,

Avant de poster un fichier, pouvez vous me dire si vous voyez une raison du non fonctionnement du code ci-dessous ?

Est ce dû à une mauvaise déclaration ou à la formulation ? Ce qui serait étonnant car le même type de calcul se fait sur les autres lignes de code.

VB:
Dim cl As Range, cbl, cbl2, cbl3, cblaa, cbla, cbla1, stock, cel, stockval As Range, val As Range, valtemp As Range


 Set stockval = Feuil24.Columns(3).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Find(cel).Offset(, 6) 'stockval = quantité en feuille stock
Set val = cel.Offset(, 2) 'quantité en BL
                        If cel.Offset(, -2) = "" And cel <> "" Then
                        Feuil34.Range("C" & Lg) = cel
                          If val > stockval Then
                          Feuil34.Range("E" & Lg) = val - stockval
Set df = Feuil34.Range("E" & Lg)
Set valtemp = val - df

La dernière variable (valtemp), et elle seulement renvoie Nothing, alors que toutes les autres ont des valeurs positives.

Merci de votre aide
 

Calvus

XLDnaute Barbatruc
Re : Déclarations et soustractions de variables

Bonjour,

Je viens de modifier le fichier du #14. Il y avait une petite erreur.

Si tu testes le fichier dans ces conditions, en arrêtant la macro à : Set df, et que continues sur 2 lignes pas à pas, tu verras que stockval donne 2, que val donne 8, et que df donne 2.
valtemp devrait donner 6 : val - df (8-2=6)
Or, le surlignement montre Nothing.

Voilà le problème mon cher Pierrejean.

Merci
 

pierrejean

XLDnaute Barbatruc
Re : Déclarations et soustractions de variables

Re

Teste cette version

Elle t'affiche les valeurs de df , val et valtemp (Qui me paraissent correctes)
Je n'ai modifié que
valtemp As Double et supprimé le Set devant valtemp=.....
 

Pièces jointes

  • Variable Forum (3).xlsm
    578.6 KB · Affichages: 52

Calvus

XLDnaute Barbatruc
Re : Déclarations et soustractions de variables

Re,

Ça m'a l'air parfait Pierrejean.

Je reviendrai si je constate un souci.

C'était donc bien un problème de déclaration. Peux tu me dire en quoi le fait d'avoir déclaré en Double a permis de supprimer le problème ?

En tout cas, merci beaucoup !!
 

pierrejean

XLDnaute Barbatruc
Re : Déclarations et soustractions de variables

Re

Un range est une cellule ou un groupe de cellules
un double est un nombre
Excel interprète au mieux ce qui n'est pas déclaré
par contre si tu déclares il faut le faire correctement
En l’occurrence Excel n'admettait pas qu'un range soit un nombre (Il admettrait que sa valeur soit un nombre)
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…