Suppression automatique de lignes et extractions de lignes

llcoolf

XLDnaute Nouveau
Bonjour aux membres du forum,

ceci est mon premier message sur ce forum.
Je gère un fichier excel (données financières) avec des données que je rapatrie quotidiennement.

1- J'aimerais dans ce fichier de bases supprimer les lignes dont la valeur est différente de 0 dans la colonne B (code annulation) et toutes les lignes de la colonne D (Code opération) dont la valeur est différente de AC ou VC .

2- Je voudrais extraire les lignes avec les intitulés du feuillet de départ dans d'autres feuillets dans le même classeur selon le n° de compte (colonne I : code dossier).

Je vous joins mon fichier de travail (j'utilise office 2007) et vous remercie par avance.
 

Pièces jointes

  • Flop.xls
    42.9 KB · Affichages: 89
  • Flop.xls
    42.9 KB · Affichages: 93
  • Flop.xls
    42.9 KB · Affichages: 94
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Suppression automatique de lignes et extractions de lignes

Bonjour llcoolf,

Le fichier ci-joint répond à ta 1ère question.

Pour la seconde, je n'ai pas compris le problème : peux-tu me le préciser avec un exemple, STP ?

Cordialement.
 

Pièces jointes

  • Flop.zip
    45.6 KB · Affichages: 65
  • Flop.zip
    45.6 KB · Affichages: 56
  • Flop.zip
    45.6 KB · Affichages: 64

llcoolf

XLDnaute Nouveau
Re : Suppression automatique de lignes et extractions de lignes

Bonjour llcoolf,

Le fichier ci-joint répond à ta 1ère question.

Pour la seconde, je n'ai pas compris le problème : peux-tu me le préciser avec un exemple, STP ?

Cordialement.

Merci de ta réponse, c'est très gentil.

En fait j'aimerais ensuite extraire les lignes du fichier Flop selon le code dossier dans un autre feuillet mais toujours dans le même classeur.

Voici un exemple joint.
 

Pièces jointes

  • Flop.xls
    42 KB · Affichages: 94
  • Flop.xls
    42 KB · Affichages: 82
  • Flop.xls
    42 KB · Affichages: 72

Papou-net

XLDnaute Barbatruc
Re : Suppression automatique de lignes et extractions de lignes

Merci de ta réponse, c'est très gentil.

En fait j'aimerais ensuite extraire les lignes du fichier Flop selon le code dossier dans un autre feuillet mais toujours dans le même classeur.

Voici un exemple joint.

Voici donc ton fichier complété.

J'ai rajouté un sous-programme "Extraction" dans le module de code 1.

Espérant avoir répondu à ton attente.

Cordialement.
 

Pièces jointes

  • Flop.zip
    45.6 KB · Affichages: 59
  • Flop.zip
    45.6 KB · Affichages: 55
  • Flop.zip
    45.6 KB · Affichages: 63

Papou-net

XLDnaute Barbatruc
Re : Suppression automatique de lignes et extractions de lignes

Excuses moi de te déranger Papou-net mais je ne trouve pas le sous programme dans le fichier joint.

Je te remercie encore de tes efforts

Tu ne me déranges pas, c'est moi qui est désolé pour la mauvaise manip : j'ai dû recréer le sous-programme car il a disparu dans les arcanes de ma bécane.

Même compressé, le fichier au format xlsm ne passe pas donc je t'envoie le listing, tu n'auras plus qu'à le copier-coller dans ton module de code :

Code:
Sub extraction()
Application.ScreenUpdating = False
With Feuil1
  nomsfeuilles = ""
  ' Récupère les noms des feuilles existantes
  For Each sh In Sheets
    nomsfeuilles = nomsfeuilles & sh.Name & " "
  Next
  ' Vérifie si les feuilles existent, sinon on les crée
  For Each cel In .Range("I2:I" & .Range("I65536").End(xlUp).Row)
    If InStr(nomsfeuilles, CStr(cel.Value)) = 0 Then
      Worksheets.Add after:=Worksheets(Sheets.Count)
      ActiveSheet.Name = CStr(cel.Value)
      nomsfeuilles = nomsfeuilles & CStr(cel.Value) & " "
      ' Recopie la ligne d'en-tête
      Feuil1.Rows(1).Copy
      ActiveSheet.Paste Destination:=Range("A1")
    End If
  Next
  ' Recopie les lignes en fonction des codes dossiers
  For Each cel In .Range("I2:I" & .Range("I65536").End(xlUp).Row)
    nomfeuille = CStr(.Cells(cel.Row, 9))
    lg = Sheets(nomfeuille).Range("A65536").End(xlUp).Row + 1
    Sheets(nomfeuille).Activate
    .Rows(cel.Row).Copy
    ActiveSheet.Paste Destination:=Range("A" & lg)
  Next
End With
Application.CutCopyMode = True
Application.ScreenUpdating = True
End Sub

Espérant t'avoir aidé.

Cordialement.
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
171

Statistiques des forums

Discussions
312 387
Messages
2 087 858
Membres
103 671
dernier inscrit
rachid1983