Copier des lignes dans une autre feuille Excel
ArnaudNR
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je tourne un peu en rond avec un petit problème.
J'ai un fichier excel dans lequel j'ai une feuille (FactureIN) avec toutes les factures d'achat de ma société. Différents achats doivent être refacturés.
Je souhaite pouvoir "isoler" dans une autre feuille ces factures qui nécessitent d'être refacturées. Dans la feuille "FacturesIN, j'ai une colonne avec chaque type de dépense (Loyer, Adwords, imprimés, ...)
Je souhaite par exemple, retrouver dans une feuille "Adwords" toutes les lignes qui ont le libellé "Adwords" dans la colonne 'Imputation" et ce de manière automatique.
Une piste ?
Merci d'avance pour votre aide.
(Je suis sur Mac avec excel 2011)
Je tourne un peu en rond avec un petit problème.
J'ai un fichier excel dans lequel j'ai une feuille (FactureIN) avec toutes les factures d'achat de ma société. Différents achats doivent être refacturés.
Je souhaite pouvoir "isoler" dans une autre feuille ces factures qui nécessitent d'être refacturées. Dans la feuille "FacturesIN, j'ai une colonne avec chaque type de dépense (Loyer, Adwords, imprimés, ...)
Je souhaite par exemple, retrouver dans une feuille "Adwords" toutes les lignes qui ont le libellé "Adwords" dans la colonne 'Imputation" et ce de manière automatique.
Une piste ?
Merci d'avance pour votre aide.
(Je suis sur Mac avec excel 2011)
1 réponse
-
Bonjour,
dans une feuille "Adwords" tu mets cette petite macro et dès que tu choisiras cette feuille elle sera mise à jour.Option Explicit Private Sub Worksheet_Activate() Dim sel As Variant, cel As Range, lig As Long Application.ScreenUpdating = False With Sheets("FactureIN") Rows(2).Resize(UsedRange.Rows.Count).Delete Set sel = .Cells.Find("Imputation") If Not sel Is Nothing Then lig = 2 For Each cel In .UsedRange.Columns(sel.Column).Cells If cel.Value = "Adwords" Then .Rows(cel.Row).Copy Destination:=Rows(lig) lig = lig + 1 End If Next cel End If End With Application.ScreenUpdating = True End Sub