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 !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
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" a écrit dans le message de news: %
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
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" <ghe.cont.gest@wanadoo.fr> a écrit dans le message de news:
%23Ou4VY0nIHA.1772@TK2MSFTNGP03.phx.gbl...
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 !
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" a écrit dans le message de news: %
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
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" a écrit dans le message de 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" a écrit dans le message de news: %
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
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" <Dupond@marcel.fr> a écrit dans le message de
news:elAHl15nIHA.3748@TK2MSFTNGP05.phx.gbl...
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" <ghe.cont.gest@wanadoo.fr> a écrit dans le message de news:
%23Ou4VY0nIHA.1772@TK2MSFTNGP03.phx.gbl...
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 !
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" a écrit dans le message de 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" a écrit dans le message de news: %
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
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" a écrit dans le message de news: 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" a écrit dans le message de 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" a écrit dans le message de news: %
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
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" <ghe.cont.gest@wanadoo.fr> a écrit dans le message de news:
Or2xS2%23nIHA.3960@TK2MSFTNGP02.phx.gbl...
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" <Dupond@marcel.fr> a écrit dans le message de
news:elAHl15nIHA.3748@TK2MSFTNGP05.phx.gbl...
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" <ghe.cont.gest@wanadoo.fr> a écrit dans le message de news:
%23Ou4VY0nIHA.1772@TK2MSFTNGP03.phx.gbl...
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 !
"François" a écrit dans le message de news: 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" a écrit dans le message de 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" a écrit dans le message de news: %
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 !