Copie et insertion ligne nbre variable

Le
François
Bonjour,

Après de nombreux essais en vba, je me tourne vers le forum pour m'aider à
trouver la solution à mon problème !!

Sur une feuille, j'ai une base de données, avec un nombre de ligne variable.
En colonne A, j'ai une valeur numérique.

Je cherche une solution en vba qui récupère cette valeur, la transforme en
entier + 1 (ex : en A1 = 1.2 donne 2) puis copie la ligne A et insère cette
ligne jusqu'au nombre entier + 1, et insère en colonne B un index.

Ex :
A B
1.2 toto
2.7 tata
Résultat
A B C
2 1 toto
2 toto
3 1 tata
2 tata
3 tata
.

Avec mes remerciements anticipés pour vos lumières !

Bien cordialement,
François
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #5440821
Bonjour,

Essaie ceci
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
x = Int(Cells(i, 1)) + 1
nom = Cells(i, 2)
Cells(i, 1) = x: Cells(i, 2) = 1: Cells(i, 3) = nom
For j = 2 To x
Rows(i + j - 1).Insert
Cells(i + j - 1, 2) = j: Cells(i + j - 1, 3) = nom
Next
Next
End Sub
'-------------------

--
Salutations
JJ


"François" %
Bonjour,

Après de nombreux essais en vba, je me tourne vers le forum pour m'aider à
trouver la solution à mon problème !!

Sur une feuille, j'ai une base de données, avec un nombre de ligne
variable. En colonne A, j'ai une valeur numérique.

Je cherche une solution en vba qui récupère cette valeur, la transforme en
entier + 1 (ex : en A1 = 1.2 donne 2) puis copie la ligne A et insère
cette ligne jusqu'au nombre entier + 1, et insère en colonne B un index.

Ex :
A B
1.2 toto
2.7 tata
Résultat
A B C
2 1 toto
2 toto
3 1 tata
2 tata
3 tata
....

Avec mes remerciements anticipés pour vos lumières !

Bien cordialement,
François



François
Le #5440381
Bonjour Jacky,

Merci pour ta proposition. Est il possible que la macro copie la ligne pour
la coller en dessous, selon la valeur de x.

Merci encore pour ton aide

Bien cordialement,

François

"Jacky" news:
Bonjour,

Essaie ceci
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
x = Int(Cells(i, 1)) + 1
nom = Cells(i, 2)
Cells(i, 1) = x: Cells(i, 2) = 1: Cells(i, 3) = nom
For j = 2 To x
Rows(i + j - 1).Insert
Cells(i + j - 1, 2) = j: Cells(i + j - 1, 3) = nom
Next
Next
End Sub
'-------------------

--
Salutations
JJ


"François" %
Bonjour,

Après de nombreux essais en vba, je me tourne vers le forum pour m'aider
à trouver la solution à mon problème !!

Sur une feuille, j'ai une base de données, avec un nombre de ligne
variable. En colonne A, j'ai une valeur numérique.

Je cherche une solution en vba qui récupère cette valeur, la transforme
en entier + 1 (ex : en A1 = 1.2 donne 2) puis copie la ligne A et insère
cette ligne jusqu'au nombre entier + 1, et insère en colonne B un index.

Ex :
A B
1.2 toto
2.7 tata
Résultat
A B C
2 1 toto
2 toto
3 1 tata
2 tata
3 tata
....

Avec mes remerciements anticipés pour vos lumières !

Bien cordialement,
François







Jacky
Le #5440301
Re...
la coller en dessous, selon la valeur de x.
????

Peux-tu donner un exemple de ce que tu veux dire?

--
Salutations
JJ


"François" Or2xS2%
Bonjour Jacky,

Merci pour ta proposition. Est il possible que la macro copie la ligne
pour la coller en dessous, selon la valeur de x.

Merci encore pour ton aide

Bien cordialement,

François

"Jacky" news:
Bonjour,

Essaie ceci
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
x = Int(Cells(i, 1)) + 1
nom = Cells(i, 2)
Cells(i, 1) = x: Cells(i, 2) = 1: Cells(i, 3) = nom
For j = 2 To x
Rows(i + j - 1).Insert
Cells(i + j - 1, 2) = j: Cells(i + j - 1, 3) = nom
Next
Next
End Sub
'-------------------

--
Salutations
JJ


"François" %
Bonjour,

Après de nombreux essais en vba, je me tourne vers le forum pour m'aider
à trouver la solution à mon problème !!

Sur une feuille, j'ai une base de données, avec un nombre de ligne
variable. En colonne A, j'ai une valeur numérique.

Je cherche une solution en vba qui récupère cette valeur, la transforme
en entier + 1 (ex : en A1 = 1.2 donne 2) puis copie la ligne A et insère
cette ligne jusqu'au nombre entier + 1, et insère en colonne B un index.

Ex :
A B
1.2 toto
2.7 tata
Résultat
A B C
2 1 toto
2 toto
3 1 tata
2 tata
3 tata
....

Avec mes remerciements anticipés pour vos lumières !

Bien cordialement,
François










Publicité
Poster une réponse
Anonyme