yitte2008
Messages postés4Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention 7 juillet 2008
-
7 juil. 2008 à 16:14
yitte2008
Messages postés4Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention 7 juillet 2008
-
7 juil. 2008 à 17:48
Bonjour,
J'ai un petit souci. Je veux écrire un code sous EXCEL qui me permet d'inserrer un nombre variable de lignes en fonction de la valeur lue dans une cellule dans laquelle j'aurai cliqué au départ. En rouge la ligne où le programme coince. Pouvez-vous n'aider à le débloquer? Y a t-il une façon plus simple de procéder?
Merci pour les différentes interventions.
Sub listen()
' Définition des variables
Dim No As Integer
Dim x As Integer
Dim Compt As Integer
' Initialisation des variables
x = 2
Compt = 1
No = ActiveCell.Value
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 7 juil. 2008 à 16:31
salut,
Sub listen()
' Définition des variables
Dim No As Integer
Dim x As Integer
Dim Compt As Integer
' Initialisation des
variables
x = 2
Compt = 1
No = ActiveCell.Value
Do While Cells(x, 9) <= No
Rows(x).Select
'Rows("x:x").Select
'pas entre guillemets, c'est variable à lire
'Range("A" & x).Activate 'inutile (et correction pour que tu
vois la différence)
Selection.insert Shift:=xlDown
Cells(x + 1, 9).Select
ActiveCell.FormulaR1C1 = "Compt"
Compt = Compt + 1
x = x + 1
Loop
~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 7 juil. 2008 à 16:35
ps : la variable Compt (et son incrémentation) dans ce contexte ne te sers à rien.
Avec ton erreur dans Rows(), je dirai que tu fais pareil avec le Activecell.FormulaR1C1
Fais plutôt (si j'ai bien compris ce que tu voulais) :
ActiveCell.Value = Compt
yitte2008
Messages postés4Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention 7 juillet 2008 7 juil. 2008 à 16:44
Merci pour ces réponses.
Mon intention est de numérotet les nouvelles lignes insérrées de façon automatique en sélectionnant une cellule (ici Nx+1) puis en y transferant la valeur courante de Compt.
yitte2008
Messages postés4Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention 7 juillet 2008 7 juil. 2008 à 17:15
J'ai essayé les différentes options proposées mais il y a toujours un os. L'idéal serait de recopier la (même) ligne courante No fois, No étant donné par la valeur de la cellule sélectionnée.
yitte2008
Messages postés4Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention 7 juillet 2008 7 juil. 2008 à 17:48
Désolé pour le dérangement,
En fait mon code est en deux parties:
1- Inserrer No lignes à la suite d'une cellule sélectionnée et qui contient la valeur No
Le code pour cela est : (.value était omis)
Do While Cells(x, 9).Value <= No
Rows(x).Select
Selection.insert Shift:=xlDown
2- Ensuite je voudrais que pour chaque ligne inserrée, mettre dans la cellule (x,9) courante une numérotation, pour ne pas revenir renuméroter après. J'ai pensé pour cela au code:
Cells(x + 1, 9).Value = Compt
Compt = Compt + 1
x = x + 1
Je ne sais pas si j'ai été suffisamment explicite.
Merci encore pour la sollicitude...