macro copie ligne

  • Initiateur de la discussion lionel
  • Date de début
L

lionel

Guest
Bonjour à tous,

je suis novice dans le macros, surtout avec visual basic, et je cherche à faire une macro de ce type:

SI VALEUR_CEL=0 ALORS COPIE LIGNE CORRESPONDANTE (A LA CELLULE) ET COLLE CETTE LIGNE DANS UNE AUTRE FEUILLE (du meme classeur) A LA FIN DU TABLEAU EXISTANT

merci pour vos infos
Lionel
 
J

Jon

Guest
bonjour

if worksheets("feuil1").range("a1").value=0 then rows(range("A1").row).copy destination:=worksheets("feuil2").range("A65536").end(xlup).offset(1)

cela peut aussi s'écrire ainsi
with worksheets("feuil1").range("a1")
if .value=0 then rows(row).copy destination:=worksheets("feuil2").range("A65536").end(xlup).offset(1)
end with

bye bye
 
B

Bernard

Guest
Bonjour Lionel, Jon et le Forum

Désolé Jon mais la syntaxe rows(range("A1").row) ne fonctionne pas avec Excel 2002, petit correctif donc :

Sub Recopier()

If Worksheets("feuil1").Range("a1").Value = 0 Then Worksheets("feuil1").Range("A1").EntireRow.Copy Worksheets("feuil2").Range("A65536").End(xlUp).Offset(1)

'Cela peut aussi s'écrire ainsi :
With Worksheets("feuil1").Range("A1")
If .Value = 0 Then .EntireRow.Copy Worksheets("feuil2").Range("A65536").End(xlUp).Offset(1)
End With
End Sub

Cordialement

Bernard
 
J

Jon

Guest
ça marche très bien sur excel 2000, mais en même temps ça nous permet de faire découvrir entirerow et entirecolumn aux nouveaux venus.

bye bye

plus d'infos sur la manipulation de cellules
<http://xlbysteph.free.fr/aideinformatique/actioncellule.htm>
 
J

Jon

Guest
lionel,

Je ne sais pas. Essaye de sélectionner la feuille source au préalable Worksheets("feuil1").Select



Joins une version allégée zippée de ton classeur sans données importantes si besoin est.



bye bye
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 765
Messages
2 091 891
Membres
105 084
dernier inscrit
lca.pertus