OVH Cloud OVH Cloud

rajout de ligne a posteriori

3 réponses
Avatar
Lionel
Bonjour,

J'ai besoin de vos lumieres car là je seche lamentablement j'ai beau tourner
le problème dans tous les sens rien ne fonctionne...
J'ai un tableau dont je recopie des donnees de colonnes dans d'autres
feuilles par macro avec une logique de recopie copie (ligne)-coller
transposer (colonne) pour l'une et copire coller simple pour l'autre.
chaque ligne de feuil1 est recopié en colonne dans feuil2 feuil3 puis
feuil4... en fonction du produit concerné. Voici le code utilisé simpliste
mais ca marche par contre c'est une galère si je rajoute des lignes au
milieu du tableau de feuil1.

Sheets("Feuil1").Select
Range("B2:DA2").Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=True

Sheets("Feuil1").Select
Range("B3:DA3").Select
Selection.Copy
Sheets("Feuil2").Select
Range("K6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=True
etc...

est-il possible si je rajoute une ligne et donc une ou des colonne de
modifier les autres macros par la macro de creation de ligne et colonne?
Peut etre cela est et va vous paraitre facile mais de toute evidence c'est
pas mon cas...

Merci d'avance

3 réponses

Avatar
Joe
Bonjour,
Voici une solution à ton problème.
Cet exemple copie les cellules renseignées. Il ne faut pas de trou au milieu.

Sheets("Feuil1").Select
i = 2
While Cells(2, i) <> ""
i = i + 1
Wend
i = i - 1
Range(Cells(2, 2), Cells(2, i)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True




Bonjour,

J'ai besoin de vos lumieres car là je seche lamentablement j'ai beau tourner
le problème dans tous les sens rien ne fonctionne...
J'ai un tableau dont je recopie des donnees de colonnes dans d'autres
feuilles par macro avec une logique de recopie copie (ligne)-coller
transposer (colonne) pour l'une et copire coller simple pour l'autre.
chaque ligne de feuil1 est recopié en colonne dans feuil2 feuil3 puis
feuil4... en fonction du produit concerné. Voici le code utilisé simpliste
mais ca marche par contre c'est une galère si je rajoute des lignes au
milieu du tableau de feuil1.

Sheets("Feuil1").Select
Range("B2:DA2").Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: > _
False, Transpose:=True

Sheets("Feuil1").Select
Range("B3:DA3").Select
Selection.Copy
Sheets("Feuil2").Select
Range("K6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: > _
False, Transpose:=True
etc...

est-il possible si je rajoute une ligne et donc une ou des colonne de
modifier les autres macros par la macro de creation de ligne et colonne?
Peut etre cela est et va vous paraitre facile mais de toute evidence c'est
pas mon cas...

Merci d'avance






Avatar
Lionel
salut
sympa d'avoir repondu oui mais apparemment ca ne fait rien de plus que ma
macro et ca ne resoud pas le problème enoncé...
"Joe" a écrit dans le message de news:

Bonjour,
Voici une solution à ton problème.
Cet exemple copie les cellules renseignées. Il ne faut pas de trou au
milieu.


Sheets("Feuil1").Select
i = 2
While Cells(2, i) <> ""
i = i + 1
Wend
i = i - 1
Range(Cells(2, 2), Cells(2, i)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _

False, Transpose:=True




Bonjour,

J'ai besoin de vos lumieres car là je seche lamentablement j'ai beau
tourner


le problème dans tous les sens rien ne fonctionne...
J'ai un tableau dont je recopie des donnees de colonnes dans d'autres
feuilles par macro avec une logique de recopie copie (ligne)-coller
transposer (colonne) pour l'une et copire coller simple pour l'autre.
chaque ligne de feuil1 est recopié en colonne dans feuil2 feuil3 puis
feuil4... en fonction du produit concerné. Voici le code utilisé
simpliste


mais ca marche par contre c'est une galère si je rajoute des lignes au
milieu du tableau de feuil1.

Sheets("Feuil1").Select
Range("B2:DA2").Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > > _


False, Transpose:=True

Sheets("Feuil1").Select
Range("B3:DA3").Select
Selection.Copy
Sheets("Feuil2").Select
Range("K6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > > _


False, Transpose:=True
etc...

est-il possible si je rajoute une ligne et donc une ou des colonne de
modifier les autres macros par la macro de creation de ligne et colonne?
Peut etre cela est et va vous paraitre facile mais de toute evidence
c'est


pas mon cas...

Merci d'avance








Avatar
Joe
Bonjour,
C’est vrai j’ai lu trop vite ton problème. Tu veut une macro pour modifier
ta macro, mais là je n’ais pas de réponse. Par contre il est peut-être
possible de modifier ta Macro pour la rendre indépendante du nombre de lignes
à copier.
Mon premier exemple permet de copier un nombre variable de cellule.
Voici de quoi copier un nombre variable de ligne.
Il reste à définir une règle pour déterminer où faire la copie. Dans ton
exemple la copie suivante était décalée de 2 colonnes par rapport à la
première.
j = 2
k = 14

ligne:
Sheets("Feuil1").Select
If Cells(j, 2) = "" Then GoTo fin
i = 2
While Cells(j, i) <> ""
i = i + 1
Wend
i = i - 1
Range(Cells(j, 2), Cells(j, i)).Select
Selection.Copy
Sheets("Feuil2").Select
Range(Cells(6, k), Cells(6, k)).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
j = j + 1
k = k + 2
GoTo ligne
fin:




salut
sympa d'avoir repondu oui mais apparemment ca ne fait rien de plus que ma
macro et ca ne resoud pas le problème enoncé...
"Joe" a écrit dans le message de news:

Bonjour,
Voici une solution à ton problème.
Cet exemple copie les cellules renseignées. Il ne faut pas de trou au
milieu.


Sheets("Feuil1").Select
i = 2
While Cells(2, i) <> ""
i = i + 1
Wend
i = i - 1
Range(Cells(2, 2), Cells(2, i)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _

False, Transpose:=True




Bonjour,

J'ai besoin de vos lumieres car là je seche lamentablement j'ai beau
tourner


le problème dans tous les sens rien ne fonctionne...
J'ai un tableau dont je recopie des donnees de colonnes dans d'autres
feuilles par macro avec une logique de recopie copie (ligne)-coller
transposer (colonne) pour l'une et copire coller simple pour l'autre.
chaque ligne de feuil1 est recopié en colonne dans feuil2 feuil3 puis
feuil4... en fonction du produit concerné. Voici le code utilisé
simpliste


mais ca marche par contre c'est une galère si je rajoute des lignes au
milieu du tableau de feuil1.

Sheets("Feuil1").Select
Range("B2:DA2").Select
Selection.Copy
Sheets("Feuil2").Select
Range("E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > > > _


False, Transpose:=True

Sheets("Feuil1").Select
Range("B3:DA3").Select
Selection.Copy
Sheets("Feuil2").Select
Range("K6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > > > _


False, Transpose:=True
etc...

est-il possible si je rajoute une ligne et donc une ou des colonne de
modifier les autres macros par la macro de creation de ligne et colonne?
Peut etre cela est et va vous paraitre facile mais de toute evidence
c'est


pas mon cas...

Merci d'avance