Rechercher : dans
Par :

[VB] Déclaration de variables en string

Dernière réponse le 18 jui 2008 à 11:14:25 onra, le 17 jui 2008 à 16:47:05 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un UserForm dans lequel est calculé une somme de 4 valeurs et la compare avec un montant. Il faut alors que cette somme soit égale au montant, sinon la procédure en cours est stoppée.
Les 4 valeurs proviennent d'un tableau Excel.
Quand ces 4 valeurs sont trop importantes, j'obtient une erreur qui est:
Erreur d'exécution 6
dépassement de capacité

et le débogage me renvoie sur cette fameuse somme:

SumImp = Str(Val(ImpMOA.Text) + Val(ImpIng.Text) + Val(ImpArchi.Text) + Val(ImpAleas.Text))

Je pense alors que ce sont les déclarations de variables en "String" qui déconne, mais je ne vois pas comment le changer.
C'st donc à ce moment que vous intervenez cher amis!!!!

Je pense peut être a déclarer mes variables en doubles, mais là je commence à tatonner...

Merci d'avance

Vous trouverez juste en dessous un atre message de ma part, n'y faite pas attention, c'est un petit cafouillage de ma aprt.

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « [VB] Déclaration de variables en string » dans :
VB6/VBA Transformer nombre en texte VoirIntroduction Préliminaires VB6 Dans le module de la forme Dans Module1 Introduction La fonction peut transformer des nombres de l'unité jusqu'à 999 tera. Prend en compte la syntaxe pour le français de France, de Belgique et de...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
Les variables en C++ VoirLes variables en C++ 1. Les différents types de variables 1.1 bool 1.2 char 1.3 unsigned short int 1.4 short int 1.5 unsigned long int 1.6 long int 1.7 int (16 bits) 1.8 int (32 bits) 1.9 unsigned int (16 bits) 1.10 unsigned int (32...
VBScript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Il s'agit en fait d'une zone de la mémoire réservée pour le stockage d'une valeur. Les...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

lermite222, le 17 jui 2008 à 17:08:11

Bonjour,
Pour être certain que la déclaration fonctionne tu déclare en Varaint, après tu peu éventuellement modifié..
dim SumImp
Suffit, ou
dim SumImp as Variant
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

2

onra, le 17 jui 2008 à 18:01:39

Merci beaucoup, je teste ca demain.
en tout ca bien content de voir qu'il reste du monde sur les forums en plein été pour répondre au question

Répondre à onra

3

onra, le 18 jui 2008 à 09:56:50

Salut,
je viens d'essayer la somme en la passant en "variant" mais ca ne marche pas.
Il ne fait plus la omparaison entre SumImp et OSmontant.
Voici la boucle complète, peut être trouveras tu une autre idée pour m'aider:

Dim SumImp As Integer
SumImp = Str(Val(ImpMOA.Text) + Val(ImpIng.Text) + Val(ImpArchi.Text) + Val(ImpAleas.Text))
If Not (SumImp = OSMontant) Then
MsgBox ("Attention, le montant de l'OS doit être égal à la somme des imputations")
MsgBox ("Somme des imputations=" & SumImp)
Exit Sub
End If
Merci d'avance

Répondre à onra

4

lermite222, le 18 jui 2008 à 10:50:45

SumImp = Str ?? (Val(ImpMOA.Text) + Val(ImpIng.Text) + Val(ImpArchi.Text) + Val(ImpAleas.Text))
Je sais plus mettre en gras, mas tu force la 1ère donnée en string, donc ca va pas aller, enlève str(
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

5

 onra, le 18 jui 2008 à 11:14:25

En fait je crois que le string est util car il me permet de prendre les valeurs dans les textbox.
Et après un paquet de test , j'ai trouvé:

Dim SumImp As Currency

Mais je pense que tu as raison variant et le string ca doit pas faire bon ménage.
En tout cas là ca marche.

Merci pour ton aide
A plus

Répondre à onra
Collection CommentÇaMarche.net