décalage numérique sur variable

nonodao

XLDnaute Nouveau
Bonjour,
dans la macro ci-dessous à la ligne 10, je suis obligé d'écrire xType + 1 et non xType sinon excel me prend toujours TYPE_10 au lieu de TYPE_11 ou TYPE_11 au lieu de 12 ainsi de suite.

Auriez vous une explication?

ps : c'est une adaptation d'une macro que je fais mais étant novice en VBA ? pouvez-vous aussi m'expliquer la ligne 9.

Merci beaucoup d'avance

1 Sub Calcul_caisson()
2 Dim xType As Integer, Ligne As Integer
3 ith ActiveSheet
4 Ligne = 5
5 While Not IsEmpty(.Cells(Ligne, 2))
6 [Portée] = .Cells(Ligne, 4)
7 [Largeur_caisson] = .Cells(Ligne, 5)
8 Application.Calculate
9 xType = 1 * Right(.Cells(Ligne, 2), 1)
10 .Cells(Ligne, 10) = Choose(xType + 1, [TYPE_10], [Type_11], [TYPE_12] [Type_13])
11 Ligne = Ligne + 1
12 Wend
13
14 End With
15 End Sub
 

ERIC S

XLDnaute Barbatruc
Re : décalage numérique sur variable

Bonjour

qu'as-tu en colonne 2 à partir de la ligne 5 ?

On ne peut rien t'expliquer car en ligne 9 tu multiplies 1 par l ecaractère de droite de ta cellule B5 (B6 à la boucle d'après...), Comme on n esait pas ce qu'il y a dans ces cellules.........!
 

ERIC S

XLDnaute Barbatruc
Re : décalage numérique sur variable

Re

CHOISIR (choose) est une fonction qui sélectionne un choix en commençant par 1 (regarde aide EXCEL (pas vba) sur CHOISIR)
donc si tu extraits en ligne 9 le caractère de droite en B5 tu obtiens le caractère zéro, en ligne 9 toujours, tu multiplies ce caractère zéro par 1 ce qui le transforme en nombre 0
en ligne 10, pour choisir [Type10], il faut que ajouter 1 à ton 0 de la ligne 9 pour sélectionner le choix 1
 

Statistiques des forums

Discussions
312 520
Messages
2 089 295
Membres
104 092
dernier inscrit
karbone57