Bonjour,

J'ai écrit une macro en excel qui voudrait dans une feuille choisir un nombre déterminé de lignes et les copier dans une seconde feuille Excel.
Pour ce faire après les initialisations indispensables le code suivant me recopie toujours la première ligne.
Voici ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
for i=1 to 10 {je désire copier 10 lignes de la feuille :je choisis la ligne désirée}
     x=inputbox("Donner le N° de ligne") {'par exemple 3'}
     {'x étant de type string je le convertis en byte'}
     y=cbyte(x) {'y est donc de type byte'}
     cells(y,1).select {la ligne y  devrait être 3'}
     nom=cells(y,1).value
     cells(y,2).select
     ville=cells(y,2).value
next i
Mon problème c'est que mon choix de ligne est inopérant et c'est toujours la ligne 1 qui est copiée quelle que soit la valeur donnée à x.
En utilisant le pas à pas je constate que le x a la valeur en string demandée soit 3 mais elle ne se reporte pas dans cbyte(x) qui a toujours la valeur 1

Quelle est donc mon erreur? Probablement dans l'affectation de la variable x par "inputbox" ?
Car si je veux recopier les 10 premières lignes dans une boucle FOR ,
les 10 premières lignes sont effectivement recopiées.

Merci aux personnes qui se pencheront sur ce problème et me signaleront l'astuce pour réaliser ce que je désire

Rogerone