Une macro pour copier seulement certaines lignes d'un fichier à un autre

Signaler
Messages postés
8
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 octobre 2010
-
Messages postés
8
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 octobre 2010
-
Bonjour le forum,

Voilà j'aurais voulu avoir votre avis sur un truc pour mon boulot.
Voilà j'ai un classeur 1 avec 1feuille (anomalie)en Excel)
ce que je voudrais faire, c'est copier certaines lignes des feuilles de ce classeur 1 notifier par une * en début de ligne et de les coller dans un autre classeur 2.
Avez vous des propositions ou des exemples?
Et pour couronner le tout je suis novice en VBA ,

Je vous remercie d'avance de vos réponses,

3 réponses

Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011

c'est relativement facil si les lignes que tu veux copier commence par un "*"
il te suffit de parcourir ta colonne A et si le premier caractère est "*" tu recopie toute la ligne et tu vas la copier sur ton autre feuille

A good excercise for the Heart is to bend down and help another up...
Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011

Sub macro()
Dim i As Integer
Dim selection1 As String
Dim selection2 As String
i = 1
Application.ScreenUpdating = False
Sheets("nom de la feuille 1").Select  ' selection de la feuile 1 [ change le nom]
Cells(i, 1).Select
While ActiveCell.Value <> ""   'parcourt de la colone A

If Mid(ActiveCell.Value, 1, 1) = "*" Then    'si la ligne commence par *
    selection1 = i & ":" & i
    Rows(selection1).Select                 'copie
    selection.Copy
    
    Sheets("nom de la feuille 2").Select    'selection de la feuile 2 [ change le nom]
    selection2 = Range("A65536").End(xlUp).Row + 1 & ":" & Range("B65536").End(xlUp).Row + 1  'selection de la dernière case libdre
    Rows(selection2).Select
    ActiveSheet.Paste                       '
    
    Sheets("nom de la feuille 1").Select
    

End If
    i = i + 1
    Cells(i, 1).Select
Wend

Application.ScreenUpdating = True
End Sub


A good excercise for the Heart is to bend down and help another up...
Messages postés
8
Date d'inscription
mercredi 26 décembre 2007
Statut
Membre
Dernière intervention
2 octobre 2010

Bonjour,et merci pour ta réponse rapide,

question ton code il et bien applicable pour copier les lignes avec une
(*) sur un autre classeur . et non pas sur la deuxièmes feuilles du même classeur.

dans l'attente de ta réponse, et encore merci