transférer des lignes excel d'une feuille vers une autre feuille

boxerfou

XLDnaute Nouveau
Bonjour à tous,

Je suis novice sur ce forum et j'ai un peu naviguer sur votre site.
Il me parait super intéressant et utile pour les utilisateurs d'excel.
Mon problème est le suivant : j'ai un premier tableau excel sur une feuille intitulée constat. Dans la colonne E, les constat sont répertoriées en plusieurs catégories. Je voudrais créer un bouton afin que toutes les lignes catégorisées (non vide ) soit transférées dans la feuille intitulée plan d'actions. Dans le tableau plan d'actions toutes les colonnes ne sont pas reprises. (colonne F non reprise dans la feuille plan d'actions)

je vous joins mon tableau pour exemple.

Je vous remercie par avance de l’intérêt que vous porterez à mon message
 

Pièces jointes

  • rapport1.xls
    156.5 KB · Affichages: 59

Staple1600

XLDnaute Barbatruc
Re : transférer des lignes excel d'une feuille vers une autre feuille

Bonjour


Essaie de peaufiner cette macro (car je dois aller déjeuner)
Bon app à tous
Code:
Sub Macro1()
Dim Filtre As Range, Dest As Range
Set Dest = Sheets("plan d'actions").[A4]
    Selection.AutoFilter Field:=5, Criteria1:="<>"
Set Filtre = [_FilterDataBase]
    Filtre.Offset(1, 0).Resize(Filtre.Rows.Count - 1).SpecialCells(12).Copy Dest
End Sub
 

boxerfou

XLDnaute Nouveau
Re : transférer des lignes excel d'une feuille vers une autre feuille

Bonjour, Merci beaucoup pour votre réponse.
Je suis désolé mais j'ai très peu de notion en macro et avec le langage associé.
La macro que vous m'avez formulée fonctionne par contre le résultat n'est pas tout à fait celui que je souhaitais.
La feuille constat doit rester identique et c'est la feuille plan d'action qui est alimentée par les données (la colonne processus (F) n'est pas alimentée au bon endroit).
Vous en remerciant (en espérant que le déjeuner était bon)
A bientôt
 

Staple1600

XLDnaute Barbatruc
Re : transférer des lignes excel d'une feuille vers une autre feuille

Re

La macro que vous m'avez formulée fonctionne par contre le résultat n'est pas tout à fait celui que je souhaitais.

Je sais et c'est pour cela que je te disais ;)
Essaie de peaufiner cette macro

Donc voici le peaufinement en question (qui n'est pas un code des plus joli, mais cela fonctionne)

Code:
Sub Macro1BIS()
Dim Filtre As Range, Dest As Range
Set Dest = Sheets("plan d'actions").[A4]
    Selection.AutoFilter Field:=5, Criteria1:="<>"
Set Filtre = [_FilterDataBase]
    Filtre.Offset(1, 0).Resize(Filtre.Rows.Count - 1, Filtre.Columns.Count - 2).SpecialCells(12).Copy Dest
    Filtre.Columns(7).Offset(1, 0).Resize(Filtre.Rows.Count - 1).SpecialCells(12).Copy Dest.Offset(, 5)
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN