Macro , pas trés compliqué , trop pour moi

Le
MiMate
Bonjour,

J'ai un classeur avec deux feuilles.

Je souhaite créer une macro qui copie les lignes de ma feuille 1 vers ma
feuille 2 lorsque la valeur de la colonne B de la feuille 1 = 123(par
exemple).

Pour corser le tout je voudrais que la macro insert la ligne copiée ( pas un
simple collé) à partir par exemple de la ligne 20, puis la seconde ligne
insérée en dessous.

Pas très facile à expliquer, si quelqu'un à une solution merci
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
poy-poy
Le #2057251
Bonjour Mimate,

De ce que j'ai compris, ce serait quelquechose du genre :
avec la feuille appelé Feu1 et la feuille 2 appelé Feu2 et 100 lignes à
tester en feuile 1

sub essai()
dim k as integer, q as integer

q=0
sheets("Feu1").select
for k = 1 to 100
if cells(k,2) = 123 then 'mets la condition que tu veux ici
cells(k,1).entirerow.copy
q=q+1
sheets("Feu2").cells(20+q,1).insert shift:=xldown
end if
next k

end sub

Cordialement
Benjamin


Bonjour,

J'ai un classeur avec deux feuilles.

Je souhaite créer une macro qui copie les lignes de ma feuille 1 vers ma
feuille 2 lorsque la valeur de la colonne B de la feuille 1 = 123(par
exemple).

Pour corser le tout je voudrais que la macro insert la ligne copiée ( pas un
simple collé) à partir par exemple de la ligne 20, puis la seconde ligne
insérée en dessous.

Pas très facile à expliquer, si quelqu'un à une solution merci





MiMate
Le #2065521
Bonsoir,

Merci pour la réponse, mais la macro ne semble pas fonctionner.
Il n'y a pas d'erreur d'execution mais aucune données ne sont copier vers ma
"feu2".

J'essai de comprendre la macro :

tout d'abord elle selectionne la "feu1", ensuite la zone a interroger est
définie (for k = 1 to 100).

Après la valeur défini est recherché dans la plage (If Cells(k, 2) = 1
Then). Dans ce cas la valeur "1" est recherché dans la colonne "2" de la
zone "k".

Quand la valeur est trouvée, la ligne est copiée (cells(k,1).entirerow.copy)
Ensuite la "feu2" est selectionnée, et la ligne copiée est collée à la
colonne 20.


Je vois pas où ça cloche ?

J'ai vérifié le nom des mes feuilles, fait différents tests mais rien a
faire.

MiMate






"poy-poy" news:
Bonjour Mimate,

De ce que j'ai compris, ce serait quelquechose du genre :
avec la feuille appelé Feu1 et la feuille 2 appelé Feu2 et 100 lignes à
tester en feuile 1

sub essai()
dim k as integer, q as integer

q=0
sheets("Feu1").select
for k = 1 to 100
if cells(k,2) = 123 then 'mets la condition que tu veux ici
cells(k,1).entirerow.copy
q=q+1
sheets("Feu2").cells(20+q,1).insert shift:=xldown
end if
next k

end sub

Cordialement
Benjamin


Bonjour,

J'ai un classeur avec deux feuilles.

Je souhaite créer une macro qui copie les lignes de ma feuille 1 vers ma
feuille 2 lorsque la valeur de la colonne B de la feuille 1 = 123(par
exemple).

Pour corser le tout je voudrais que la macro insert la ligne copiée (
pas un


simple collé) à partir par exemple de la ligne 20, puis la seconde ligne
insérée en dessous.

Pas très facile à expliquer, si quelqu'un à une solution merci







jps
Le #2065141
bonsoir MiMate
vérifie si tu as bien écrit ainsi :

sheets("Feu2").cells(20+q,1).insert shift::=xldown

c'est à dire qu'il ne faut pas oublier le : (deux points) après shift

bon, enfin, si je dis cela, c'est surtout pour soigner mes stats....
jps

"MiMate" news:
Bonsoir,

Merci pour la réponse, mais la macro ne semble pas fonctionner.
Il n'y a pas d'erreur d'execution mais aucune données ne sont copier vers
ma

"feu2".

J'essai de comprendre la macro :

tout d'abord elle selectionne la "feu1", ensuite la zone a interroger est
définie (for k = 1 to 100).

Après la valeur défini est recherché dans la plage (If Cells(k, 2) = 1
Then). Dans ce cas la valeur "1" est recherché dans la colonne "2" de la
zone "k".

Quand la valeur est trouvée, la ligne est copiée
(cells(k,1).entirerow.copy)

Ensuite la "feu2" est selectionnée, et la ligne copiée est collée à la
colonne 20.


Je vois pas où ça cloche ?

J'ai vérifié le nom des mes feuilles, fait différents tests mais rien a
faire.

MiMate






"poy-poy" news:
Bonjour Mimate,

De ce que j'ai compris, ce serait quelquechose du genre :
avec la feuille appelé Feu1 et la feuille 2 appelé Feu2 et 100 lignes à
tester en feuile 1

sub essai()
dim k as integer, q as integer

q=0
sheets("Feu1").select
for k = 1 to 100
if cells(k,2) = 123 then 'mets la condition que tu veux ici
cells(k,1).entirerow.copy
q=q+1
sheets("Feu2").cells(20+q,1).insert shift:=xldown
end if
next k

end sub

Cordialement
Benjamin


Bonjour,

J'ai un classeur avec deux feuilles.

Je souhaite créer une macro qui copie les lignes de ma feuille 1 vers
ma



feuille 2 lorsque la valeur de la colonne B de la feuille 1 = 123(par
exemple).

Pour corser le tout je voudrais que la macro insert la ligne copiée (
pas un


simple collé) à partir par exemple de la ligne 20, puis la seconde
ligne



insérée en dessous.

Pas très facile à expliquer, si quelqu'un à une solution merci











jps
Le #2060071
oups, j'ai oublié de préciser : j'assure l'intérim de poy poy le jeudi
soir...
jps

"MiMate" news:
Bonsoir,

Merci pour la réponse, mais la macro ne semble pas fonctionner.
Il n'y a pas d'erreur d'execution mais aucune données ne sont copier vers
ma

"feu2".



Le #2061451
Désolé d'insister mais ça veut toujours pas marché :

Dans ma "feu1" j'ai la colonne A avec les valeurs suivantes : PIERRE, PAUL,
JACQUES,TOTO,TATA
j'ai la colonne B avec les valeurs suivantes : 1
, 2 ,1 ,2 ,2

Je voudrais qu'une macro sur ma "feu2" teste la "feu1" , et que lorsqu'elle
trouve la valeur "2" dans la colonne B, elle copie et insère la ligne
entière dans ma "feu2" (par exemple insertion à la ligne 20).


Merci




"jps" news:
oups, j'ai oublié de préciser : j'assure l'intérim de poy poy le jeudi
soir...
jps

"MiMate" news:
Bonsoir,

Merci pour la réponse, mais la macro ne semble pas fonctionner.
Il n'y a pas d'erreur d'execution mais aucune données ne sont copier
vers


ma
"feu2".






Poster une réponse
Anonyme