Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Distribution de données

2 réponses
Avatar
Tom Sawyer
Bonjour à tous,



Voilà plusieurs jours que je me creuse le crâne et impossible de trouver une
solution convenable à mon problème.

J'importe un fichier CSV dans mon classeur et je souhaite trier les données
qu'elle contient.

Ces données se succèdent sur ma feuille de la façon suivante :



Données actives

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données classées

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données traitées

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données actives

Numéro dossier Client Date ...........

*0945 Martin 08/10/2007

*0745 Champion 10/10/2007

.........





Je souhaite créer une macro qui me permette de recopier ces données sur
trois feuilles différentes selon qu'il s'agisse de données Actives, Classées
et Traitées.

Mon problème est que ces petits tableaux peuvent être dans n'importe quel
ordre et se répéter plusieurs fois (dans le cas d'une répétition, les
données doivent quand même étre recopiées)

Je ne sais pas si j''ai été assez claire dans mon énoncé mais j'espère que
quelqu'un saura m'aider car vous êtes mon dernier espoir je crois. Au cas
où, je vous joinds un fichier montrant les données au départ et le résultat
que je dois obtenir

http://cjoint.com/?czvn1yRoIE



Un grand merci à tout ceux qui m'auront aidé ou même simplement mis sur la
piste.

2 réponses

Avatar
isabelle
bonjour Tom,

Sub Macro1()
For i = 1 To Sheets("Départ").Range("A65536").End(xlUp).Row + 1
If Left(Range("A" & i), 7) = "Données" Then onglet = Split(Range("A" & i), " ")(1)
If Left(Range("A" & i), 1) = "*" Then
y = i
For w = i To Sheets("Départ").Range("A65536").End(xlUp).Row + 1
If Range("A" & w) = "" Then
z = w - 1
Exit For
End If
Next
l = Sheets(onglet).Range("A65536").End(xlUp).Row + 1
Sheets("Départ").Range("A" & y & ":C" & z).Copy Sheets(onglet).Range("A" & l)
i = w
End If
Next
End Sub


isabelle

Bonjour à tous,



Voilà plusieurs jours que je me creuse le crâne et impossible de trouver une
solution convenable à mon problème.

J'importe un fichier CSV dans mon classeur et je souhaite trier les données
qu'elle contient.

Ces données se succèdent sur ma feuille de la façon suivante :



Données actives

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données classées

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données traitées

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données actives

Numéro dossier Client Date ...........

*0945 Martin 08/10/2007

*0745 Champion 10/10/2007

.........





Je souhaite créer une macro qui me permette de recopier ces données sur
trois feuilles différentes selon qu'il s'agisse de données Actives, Classées
et Traitées.

Mon problème est que ces petits tableaux peuvent être dans n'importe quel
ordre et se répéter plusieurs fois (dans le cas d'une répétition, les
données doivent quand même étre recopiées)

Je ne sais pas si j''ai été assez claire dans mon énoncé mais j'espère que
quelqu'un saura m'aider car vous êtes mon dernier espoir je crois. Au cas
où, je vous joinds un fichier montrant les données au départ et le résultat
que je dois obtenir

http://cjoint.com/?czvn1yRoIE



Un grand merci à tout ceux qui m'auront aidé ou même simplement mis sur la
piste.










Avatar
Tom Sawyer
Merci merci merci mille fois merci Isabelle.
Je teste ça dès demain.
ça me soulage d'un sacré poids.
Encore merci



"isabelle" a écrit dans le message de news:
%
bonjour Tom,

Sub Macro1()
For i = 1 To Sheets("Départ").Range("A65536").End(xlUp).Row + 1
If Left(Range("A" & i), 7) = "Données" Then onglet = Split(Range("A" &
i), " ")(1)
If Left(Range("A" & i), 1) = "*" Then
y = i
For w = i To Sheets("Départ").Range("A65536").End(xlUp).Row + 1
If Range("A" & w) = "" Then
z = w - 1
Exit For
End If
Next
l = Sheets(onglet).Range("A65536").End(xlUp).Row + 1
Sheets("Départ").Range("A" & y & ":C" & z).Copy Sheets(onglet).Range("A"
& l)
i = w
End If
Next
End Sub


isabelle

Bonjour à tous,



Voilà plusieurs jours que je me creuse le crâne et impossible de trouver
une solution convenable à mon problème.

J'importe un fichier CSV dans mon classeur et je souhaite trier les
données qu'elle contient.

Ces données se succèdent sur ma feuille de la façon suivante :



Données actives

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données classées

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données traitées

Numéro dossier Client Date ...........

*0845 Durand 08/10/2007

*0745 Dupont 10/10/2007

.........



Données actives

Numéro dossier Client Date ...........

*0945 Martin 08/10/2007

*0745 Champion 10/10/2007

.........





Je souhaite créer une macro qui me permette de recopier ces données sur
trois feuilles différentes selon qu'il s'agisse de données Actives,
Classées et Traitées.

Mon problème est que ces petits tableaux peuvent être dans n'importe quel
ordre et se répéter plusieurs fois (dans le cas d'une répétition, les
données doivent quand même étre recopiées)

Je ne sais pas si j''ai été assez claire dans mon énoncé mais j'espère
que quelqu'un saura m'aider car vous êtes mon dernier espoir je crois. Au
cas où, je vous joinds un fichier montrant les données au départ et le
résultat que je dois obtenir

http://cjoint.com/?czvn1yRoIE



Un grand merci à tout ceux qui m'auront aidé ou même simplement mis sur
la piste.