Faire varier l'affichage d'1 textbox selon la valeur de la cellule

Faire varier l'affichage d'1 textbox selon la valeur de la cellule - VB/VBA/VBS - Programmation

Marsh Posté le 13-04-2006 à 16:03:36    

Bonjour everybody,
 
Plus je m'investis sur VBA et plus je trouve cet outil de programmation interréssant... Petit hic, je n'ai aucune base de programmation (mais j'apprends vite  ;) )
 
N'empêche que j'ai un soucis dans mon programme et j'aurai vraiment besoin d'aide, bon je m'explique sans perdre de temps...
 
Je travaille sur Excel avec un tableau assimilable à une matrice (il n'y a que des chiffres s'étalant de 0 à 12). Ces chiffres sont déterminés par des conditions.
 
Pour permettre un utilisateur de lire et surtout de comprendre l'interprétation de ces chiffres, j'ai créé une petite application utilisant un userform pour la lecture.
 
A l'aide d'une textbox, je voudrai récupérer la valeur (le chiffre) contenu dans une cellule donnée (prenons par exemple "B20" ) et selon les condition décrité dans le code VBA afficher dans ce textbox l'interprétation de ce chiffre.  :pt1cable:  
 
J'ai créée un petit truc, le problème est que mon code ne fait pas l'interprétation et va remplacer la valeur de la cellule par 0 (la première condition)
 
Je ne sais pas si çà provient de mes conditions succéssives ou de cells...
 
Est-ce que quelqu'un peut m'aider STP  :sarcastic:  
 
 
 
Dim valeur As Integer
 
Sheets("Calculs" ).Select
 
Cells(20, 2).Value = valeur
 
If valeur = "0" Then
TextBox34.Value = "toto0"
Else
If valeur = "1" Then
TextBox34.Value = "toto1"
Else
If valeur = "2" Then
TextBox34.Value = "toto2"
Else
If valeur = "3" Then
TextBox34.Value = "toto3"
Else
If valeur = "4" Then
TextBox34.Value = "toto4"
Else
If valeur = "5" Then
TextBox34.Value = "toto5"
Else
If valeur = "6" Then
TextBox34.Value = "toto6"
Else
If valeur = "7" Then
TextBox34.Value = "toto7"
Else
If valeur = "8" Then
TextBox34.Value = "toto8"
Else
If valeur = "9" Then
TextBox34.Value = "toto9"
Else
If valeur = "10" Then
TextBox34.Value = "toto10"
Else
If valeur = "11" Then
TextBox34.Value = "toto11"
Else
If valeur = "12" Then
TextBox34.Value = "toto12"
End If

Reply

Marsh Posté le 13-04-2006 à 16:03:36   

Reply

Marsh Posté le 13-04-2006 à 23:39:55    

salut  
 
quelques précisions :  
 
tout d'abord, si tu déclare 'valeur' en tant qu'integer (entier), utilise le en tant  .. qu'integer, et non en tant que chaine de caractere ( cad entre " " )
donc ton test devient : if valeur = 0 then
 
Pour ta textbox, évite de lui laisser un nom comme 'textbox34', pasque si tu en a plein, apres tu ne sais plus trop ou donner de la tete. Et je sais de quoi je parle  :)  
 
de plus : une condition 'if' doit se terminer par un 'end if', et ce a chaque fois que tu ouvre une condition. donc dans ton code, il te manque un sacré bon nombre de 'end if'  :)    
exception : lorsque tu utilise la condition 'elseif '(tout attaché)  
if .... then
elseif ... then
end if
 
enfin, utilise plutot Range que Cell (enfin, ca c plus moi qui aime mieux ca ...   :)  )
 
derniere chose :  
voila pout toi :  
--------------------------------------------
Sheets("calculs" ).Select
TextBox34.Text = "toto" & Range("B22" ).Value
--------------------------------------------
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed