Extraire données sur la base d'un critère : avec impossibilité d'appliquer filtres Excel, ni requête

Le
nathoche
Bonjour,

Après avoir planché plusieurs heures, je n'arrive pas à résoudre mon
problème que voici :

Je reçois un rapport Excel généré automatiquement par un système =
sur
le net et dont je n'ai pas le contrôle.

Ce rapport liste sur cinq colonnes des informations ainsi que des
calculs. Il y a des milliers de lignes.

Il n'a pas de titre de colonnes, ni de plages de nom. Il y a des
lignes fusionnées (sous-totaux), des lignes blanches entre chaque sous-
section : tout pour empêcher les filtres, tris, requêtes. bref : un
cauchemar !

Ce que je dois faire, c'est préparer une macro qui permettrait, sans
manipulation à mon directeur, de copier toutes les lignes qui auraient
le critère "001" ou "002" dans la colonne B, et coller toutes ces
lignes dans une nouvelle feuille, afin de pouvoir ensuite lui
appliquer un calcul dans les colonnes D et E (ce que je pourrais faire
à partir d'un UserForm, je suis à l'aise avec cette partie là.)

Est-ce que quelqu'un pourrait m'aider ou me donner une piste de
solution ?

Par avance, merci !!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4465321
Salut Nathoche
En prenant ton rapport dans l'onglet "Source" et la recopie des données dans
l'onglet "Destination
Tu peux essayer cette macro :
Sheets("Destination").Select
Range("A1").Select
A = Sheets("Source").Range("B65535").End(xlUp).Address
For Each c In Worksheets("Source").Range("B1", A)
If c = "001" Or c = "002" Then
c.EntireRow.Copy
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next

Celà devrait fonctionner avec un doute quand même quant aux cellules
fusionnées
bienque aprés test aucun dysfonctionnement

Dis moi



Bonjour,

Après avoir planché plusieurs heures, je n'arrive pas à résoudre mon
problème que voici :

Je reçois un rapport Excel généré automatiquement par un système sur
le net et dont je n'ai pas le contrôle.

Ce rapport liste sur cinq colonnes des informations ainsi que des
calculs. Il y a des milliers de lignes.

Il n'a pas de titre de colonnes, ni de plages de nom. Il y a des
lignes fusionnées (sous-totaux), des lignes blanches entre chaque sous-
section : tout pour empêcher les filtres, tris, requêtes. bref : un
cauchemar !

Ce que je dois faire, c'est préparer une macro qui permettrait, sans
manipulation à mon directeur, de copier toutes les lignes qui auraient
le critère "001" ou "002" dans la colonne B, et coller toutes ces
lignes dans une nouvelle feuille, afin de pouvoir ensuite lui
appliquer un calcul dans les colonnes D et E (ce que je pourrais faire
à partir d'un UserForm, je suis à l'aise avec cette partie là.)

Est-ce que quelqu'un pourrait m'aider ou me donner une piste de
solution ?

Par avance, merci !!




Youky
Le #4465311
Salut
remplacer zaza par le nom qui convient au mieux et est le nom de l'onglet
créé
Si cette page existe on n'en créé pas de nouvelle

Application.ScreenUpdating = False
onglet = ActiveSheet.Name
On Error Resume Next
Sheets("zaza").Select
If Err > 0 Then
Sheets.Add
ActiveSheet.Name = "zaza"
End If
Sheets("zaza").Cells.Clear
With Sheets(onglet)
For k = 1 To .[B65536].End(3).Row
If .Cells(k, 2) = "001" Or .Cells(k, 2) = "002" Then
lig = lig + 1
.Rows(k).Copy Sheets("zaza").Rows(lig)
End If
Next
End With
Sheets("zaza").Select
Application.ScreenUpdating = True

"nathoche"
Bonjour,

Après avoir planché plusieurs heures, je n'arrive pas à résoudre mon
problème que voici :

Je reçois un rapport Excel généré automatiquement par un système sur
le net et dont je n'ai pas le contrôle.

Ce rapport liste sur cinq colonnes des informations ainsi que des
calculs. Il y a des milliers de lignes.

Il n'a pas de titre de colonnes, ni de plages de nom. Il y a des
lignes fusionnées (sous-totaux), des lignes blanches entre chaque sous-
section : tout pour empêcher les filtres, tris, requêtes. bref : un
cauchemar !

Ce que je dois faire, c'est préparer une macro qui permettrait, sans
manipulation à mon directeur, de copier toutes les lignes qui auraient
le critère "001" ou "002" dans la colonne B, et coller toutes ces
lignes dans une nouvelle feuille, afin de pouvoir ensuite lui
appliquer un calcul dans les colonnes D et E (ce que je pourrais faire
à partir d'un UserForm, je suis à l'aise avec cette partie là.)

Est-ce que quelqu'un pourrait m'aider ou me donner une piste de
solution ?

Par avance, merci !!
Publicité
Poster une réponse
Anonyme