je voudrais optimiser un travail. Voici le point de départ, un tableau de 3
col et X lignes (j'ai mis des "," pour séparer les col).
A , B, C
1 code1,2,p
2 code2,3,m
3 code3,4,m
4 code4,1,z
...etc...
Je tente de faire une macro qui permettrait de créer autant de lignes que la
valeur trouvé en col B.
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...)
A , B, C
1 code1,2,p
2 code1,,p
2 code2,3,m
3 code2,,m
4 code2,,m
etc...
et là je sèche sur les boucles...si vous avez une idée je suis preneur
merci
--
a+
bob
nospam00-boblebob@voila.fr
(enlever nospam00-)
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
boblebob
salut et merci,
c'est presque ça sauf que ta macros insert autant de lignes que la valeur trouvée en col B alors qu'elle devrait insérer une ligne de moins que la valeur (si j'ai 4 en B je dois créer 3 lignes et non 4). Autre chose, si la macro pouvait copier-coller également toutes les valeurs de la ligne se serait très bien.
--- a+ bob
(enlever nospam00-) "AV" a écrit dans le message de news:
Sub zz_Insert() For i = [B65536].End(3).Row To 2 Step -1 On Error Resume Next For j = 1 To Cells(i, "B").Value Range("A" & i + 1 & ":C" & i + 1).Insert Next Next End Sub
AV
"boblebob" a écrit dans le message news: uqV#
salut,
je voudrais optimiser un travail. Voici le point de départ, un tableau de 3
col et X lignes (j'ai mis des "," pour séparer les col). A , B, C 1 code1,2,p 2 code2,3,m 3 code3,4,m 4 code4,1,z ...etc...
Je tente de faire une macro qui permettrait de créer autant de lignes que la
valeur trouvé en col B. ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) A , B, C 1 code1,2,p 2 code1,,p 2 code2,3,m 3 code2,,m 4 code2,,m etc... et là je sèche sur les boucles...si vous avez une idée je suis preneur merci -- a+ bob
(enlever nospam00-)
salut et merci,
c'est presque ça sauf que ta macros insert autant de lignes que la valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins que la
valeur (si j'ai 4 en B je dois créer 3 lignes et non 4).
Autre chose, si la macro pouvait copier-coller également toutes les valeurs
de la ligne se serait très bien.
---
a+
bob
nospam00-boblebob@voila.fr
(enlever nospam00-)
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
egvrSsSVDHA.1052@TK2MSFTNGP09.phx.gbl...
Sub zz_Insert()
For i = [B65536].End(3).Row To 2 Step -1
On Error Resume Next
For j = 1 To Cells(i, "B").Value
Range("A" & i + 1 & ":C" & i + 1).Insert
Next
Next
End Sub
AV
"boblebob" <nospam00-boblebob@voila.fr> a écrit dans le message news:
uqV#VNSVDHA.2508@TK2MSFTNGP12.phx.gbl...
salut,
je voudrais optimiser un travail. Voici le point de départ, un tableau
de 3
col et X lignes (j'ai mis des "," pour séparer les col).
A , B, C
1 code1,2,p
2 code2,3,m
3 code3,4,m
4 code4,1,z
...etc...
Je tente de faire une macro qui permettrait de créer autant de lignes
que la
valeur trouvé en col B.
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer
1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...)
A , B, C
1 code1,2,p
2 code1,,p
2 code2,3,m
3 code2,,m
4 code2,,m
etc...
et là je sèche sur les boucles...si vous avez une idée je suis preneur
merci
--
a+
bob
nospam00-boblebob@voila.fr
(enlever nospam00-)
c'est presque ça sauf que ta macros insert autant de lignes que la valeur trouvée en col B alors qu'elle devrait insérer une ligne de moins que la valeur (si j'ai 4 en B je dois créer 3 lignes et non 4). Autre chose, si la macro pouvait copier-coller également toutes les valeurs de la ligne se serait très bien.
--- a+ bob
(enlever nospam00-) "AV" a écrit dans le message de news:
Sub zz_Insert() For i = [B65536].End(3).Row To 2 Step -1 On Error Resume Next For j = 1 To Cells(i, "B").Value Range("A" & i + 1 & ":C" & i + 1).Insert Next Next End Sub
AV
"boblebob" a écrit dans le message news: uqV#
salut,
je voudrais optimiser un travail. Voici le point de départ, un tableau de 3
col et X lignes (j'ai mis des "," pour séparer les col). A , B, C 1 code1,2,p 2 code2,3,m 3 code3,4,m 4 code4,1,z ...etc...
Je tente de faire une macro qui permettrait de créer autant de lignes que la
valeur trouvé en col B. ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) A , B, C 1 code1,2,p 2 code1,,p 2 code2,3,m 3 code2,,m 4 code2,,m etc... et là je sèche sur les boucles...si vous avez une idée je suis preneur merci -- a+ bob
(enlever nospam00-)
AV
c'est presque ça sauf que ta macros insert autant de lignes que la valeur trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que la valeur trouvé en col B." **Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1 ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) ** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-) Modif : ----- For j = 1 To Cells(i, "B").Value-1 ----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs de la ligne se serait très bien. **Quelle ligne ? La ligne entière ?
AV
c'est presque ça sauf que ta macros insert autant de lignes que la valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que la
valeur trouvé en col B."
**Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...)
** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-)
Modif :
-----
For j = 1 To Cells(i, "B").Value-1
----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs
de la ligne se serait très bien.
**Quelle ligne ? La ligne entière ?
c'est presque ça sauf que ta macros insert autant de lignes que la valeur trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que la valeur trouvé en col B." **Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1 ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) ** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-) Modif : ----- For j = 1 To Cells(i, "B").Value-1 ----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs de la ligne se serait très bien. **Quelle ligne ? La ligne entière ?
AV
AV
Essaye ça (PS : j'ai pas très bien compris ce que tu voulais copier...)
Sub zz_Insert2() For i = [B65536].End(3).Row To 2 Step -1 For j = 1 To Cells(i, "B").Value - 1 Range("A" & i + 1 & ":C" & i + 1).Insert Shift:=xlDown Range("A" & i + 1 & ":C" & i + 1) = Range("A" & i & ":C" & i).Value Next Next End Sub
AV
"boblebob" a écrit dans le message news: #
effectivement mon message n'était pas très clair, merci pour ta modif, oui je voudrais copier la ligne entière.
-- a+ bob "AV" a écrit dans le message de news:
c'est presque ça sauf que ta macros insert autant de lignes que la valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que la
valeur trouvé en col B." **Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) ** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-) Modif : ----- For j = 1 To Cells(i, "B").Value-1 ----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs
de la ligne se serait très bien. **Quelle ligne ? La ligne entière ?
AV
Essaye ça (PS : j'ai pas très bien compris ce que tu voulais copier...)
Sub zz_Insert2()
For i = [B65536].End(3).Row To 2 Step -1
For j = 1 To Cells(i, "B").Value - 1
Range("A" & i + 1 & ":C" & i + 1).Insert Shift:=xlDown
Range("A" & i + 1 & ":C" & i + 1) = Range("A" & i & ":C" & i).Value
Next
Next
End Sub
AV
"boblebob" <nospam00_boblebob@voila.fr> a écrit dans le message news:
#rcAmIbVDHA.3924@tk2msftngp13.phx.gbl...
effectivement mon message n'était pas très clair, merci pour ta modif, oui
je voudrais copier la ligne entière.
--
a+
bob
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
OkYBdRaVDHA.2344@TK2MSFTNGP09.phx.gbl...
c'est presque ça sauf que ta macros insert autant de lignes que la
valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que
la
valeur trouvé en col B."
**Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer
1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...)
** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-)
Modif :
-----
For j = 1 To Cells(i, "B").Value-1
----
Autre chose, si la macro pouvait copier-coller également toutes les
valeurs
de la ligne se serait très bien.
**Quelle ligne ? La ligne entière ?
Essaye ça (PS : j'ai pas très bien compris ce que tu voulais copier...)
Sub zz_Insert2() For i = [B65536].End(3).Row To 2 Step -1 For j = 1 To Cells(i, "B").Value - 1 Range("A" & i + 1 & ":C" & i + 1).Insert Shift:=xlDown Range("A" & i + 1 & ":C" & i + 1) = Range("A" & i & ":C" & i).Value Next Next End Sub
AV
"boblebob" a écrit dans le message news: #
effectivement mon message n'était pas très clair, merci pour ta modif, oui je voudrais copier la ligne entière.
-- a+ bob "AV" a écrit dans le message de news:
c'est presque ça sauf que ta macros insert autant de lignes que la valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que la
valeur trouvé en col B." **Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer 1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) ** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-) Modif : ----- For j = 1 To Cells(i, "B").Value-1 ----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs
de la ligne se serait très bien. **Quelle ligne ? La ligne entière ?
AV
boblebob
pas mal pour un débutant. je te remercie.
-- a+ bob
(enlever nospam00-) "AV" a écrit dans le message de news:
Essaye ça (PS : j'ai pas très bien compris ce que tu voulais copier...)
Sub zz_Insert2() For i = [B65536].End(3).Row To 2 Step -1 For j = 1 To Cells(i, "B").Value - 1 Range("A" & i + 1 & ":C" & i + 1).Insert Shift:=xlDown Range("A" & i + 1 & ":C" & i + 1) = Range("A" & i & ":C" & i).Value
Next Next End Sub
AV
"boblebob" a écrit dans le message news: #
effectivement mon message n'était pas très clair, merci pour ta modif, oui
je voudrais copier la ligne entière.
-- a+ bob "AV" a écrit dans le message de news:
c'est presque ça sauf que ta macros insert autant de lignes que la valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que
la
valeur trouvé en col B." **Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer
1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) ** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-) Modif : ----- For j = 1 To Cells(i, "B").Value-1 ----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs
de la ligne se serait très bien. **Quelle ligne ? La ligne entière ?
AV
pas mal pour un débutant.
je te remercie.
--
a+
bob
nospam00-boblebob@voila.fr
(enlever nospam00-)
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
eLFUbudVDHA.3088@tk2msftngp13.phx.gbl...
Essaye ça (PS : j'ai pas très bien compris ce que tu voulais copier...)
Sub zz_Insert2()
For i = [B65536].End(3).Row To 2 Step -1
For j = 1 To Cells(i, "B").Value - 1
Range("A" & i + 1 & ":C" & i + 1).Insert Shift:=xlDown
Range("A" & i + 1 & ":C" & i + 1) = Range("A" & i & ":C" &
i).Value
Next
Next
End Sub
AV
"boblebob" <nospam00_boblebob@voila.fr> a écrit dans le message news:
#rcAmIbVDHA.3924@tk2msftngp13.phx.gbl...
effectivement mon message n'était pas très clair, merci pour ta modif,
oui
je voudrais copier la ligne entière.
--
a+
bob
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
OkYBdRaVDHA.2344@TK2MSFTNGP09.phx.gbl...
c'est presque ça sauf que ta macros insert autant de lignes que la
valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes
que
la
valeur trouvé en col B."
**Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors
créer
1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...)
** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-)
Modif :
-----
For j = 1 To Cells(i, "B").Value-1
----
Autre chose, si la macro pouvait copier-coller également toutes les
valeurs
de la ligne se serait très bien.
**Quelle ligne ? La ligne entière ?
(enlever nospam00-) "AV" a écrit dans le message de news:
Essaye ça (PS : j'ai pas très bien compris ce que tu voulais copier...)
Sub zz_Insert2() For i = [B65536].End(3).Row To 2 Step -1 For j = 1 To Cells(i, "B").Value - 1 Range("A" & i + 1 & ":C" & i + 1).Insert Shift:=xlDown Range("A" & i + 1 & ":C" & i + 1) = Range("A" & i & ":C" & i).Value
Next Next End Sub
AV
"boblebob" a écrit dans le message news: #
effectivement mon message n'était pas très clair, merci pour ta modif, oui
je voudrais copier la ligne entière.
-- a+ bob "AV" a écrit dans le message de news:
c'est presque ça sauf que ta macros insert autant de lignes que la valeur
trouvée en col B alors qu'elle devrait insérer une ligne de moins
** Ben comme t'as dit ça et son contraire :
"Je tente de faire une macro qui permettrait de créer autant de lignes que
la
valeur trouvé en col B." **Ca c'est ce que j'ai fait !
ce qui devrait me donner le tableau suivant (en gros si B2=2 alors créer
1
ligne pour le code1 ; si B2=4 alors créer 3 lignes pour le code1...) ** Ca c'est pas cohérent avec ce qui précède donc il a fallu faire un
choix...c'était donc pas le bon ;-) Modif : ----- For j = 1 To Cells(i, "B").Value-1 ----
Autre chose, si la macro pouvait copier-coller également toutes les valeurs
de la ligne se serait très bien. **Quelle ligne ? La ligne entière ?