cells() avec deux variables

  • Initiateur de la discussion fred
  • Date de début
F

fred

Guest
bonjour chers Exceleurse et exceleurs.

Je suis débutant dans le vba.. et j'ai un peu de mal a comprendre certaines choses dont je n'arrive pas a trouver réponses malgrès mes recherches.

en voici une :

Sub convertir()
Dim euro, francs, somme_euro, i, y
i = InputBox('n° de ligne ?')
y = InputBox('n° de colone ?')
euro = 6.55957
francs = 1000
somme_euro = francs / euro
Worksheets('test').Activate
Cells(i, y).Select
ActiveCell = somme_euro
End Sub

Le code parrait assez simple,

Je demande sur deux fenetre de saisir le num de ligne puis de colonne où doit apparaitre le résultat.
Le pb c'est que qd je met cells(i,5).. ca marche
et qd je met cells(i,y) ca ne marche plus...

Qq'un pourrais m'expliquer pourquoi...

merci d'avance.
 

mutzik

XLDnaute Barbatruc
Bonjour Fred, Guitarde

Un inputbox renvoie toujours une donnée en format string

donc, tu changes

i = InputBox('n° de ligne ?')
y = InputBox('n° de colone ?')
par

i = val(InputBox('n° de ligne ?'))
y = val(InputBox('n° de colone ?'))

la fonction val va te convertir ton résultat d'inputbox de string en valeur num
 

Creepy

XLDnaute Accro
Hello,

Tu viens d'avoir les explications, plusieurs solutions se proposent à toi :

1 -
Cells(cint(i), cint(y)).Select ' transforme en integer directement

2 - Apres tes inputbox
i = InputBox('n° de ligne ?')
y = InputBox('n° de colone ?')
i= cint(i)
y=cint(y)

Dernière remarque : Si tu définis comme le dit Guitarde tes variables en integer, quand dans la inputbox tu cliques sur annuler ca plante la macro !! 'Incompatibilité de type'.

Donc utilises plutôt mes méthodes oucelle de Mutzik

++

Creepy
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 450
Membres
103 214
dernier inscrit
MASSA1616