Prb : Tri d'un export

  • Initiateur de la discussion Initiateur de la discussion Jean
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jean

Guest
Bonjour,

Félicitation pour cet excellent forum ,

Je sollicite votre aide car ne suis pas suffisamment callé pour cette macro :


J’ai un export journalier de basse de donnée ver un fichier Excel (voir fichier joint).


Dans ce fichier j’ai différents types de courrier a envoyer :

- Le nom des types de courriers sont en colonne A, je les ai identifié en bleu

- l existe une trentaine de type de courrier, mais l’export du jour ne reprend que ceux qui ont des envois prévus pour le jour de l’export.

- le nombre de courrier dans chaque type diffère à chaque export


La macro souhaitée :


Dans le même fichier,

Que pour chaque type de courrier une feuille du mom du type du courrier soir crée.

Que les zones que j’ai identifier en vert pour chaque type de courrier soient copier dans la feuille correspondante en A1.

la cellule juste en dessous du type de courrier contient toujours ' description ', et pourrait être utilisée comme repère dans la macro.


Merci d'avance

Cordialement

Jean
 
bonjour Jean

le classeur doit etre zippé , inferieur à 50 ko et sans caractere special dans le nom

Edition :
...et sans donnée s confidentielles !!
Jean , j'espere que les noms et les adresses indiquees ne sont pas reelles sinon je t'invite à modifier ton classeur



bonne journée
MichelXld

Message édité par: MichelXld, à: 28/05/2005 08:08
 
rebonjour Jean

j'espere que cette macro pourra t'aider

Option Compare Text
Sub triDonnees()
Dim Cell As Range
Dim i As Byte, j As Byte

Application.ScreenUpdating = False

For Each Cell In Sheets('Export').Range('A1:A' & Range('A65536').End(xlUp).Row)

If Cell.Offset(0, 1) = '' Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = RTrim(Cell)
j = 0
Else
If RTrim(Cell) <> 'Description' Then
j = j + 1
For i = 1 To 9
ActiveSheet.Cells(j, i) = Sheets('Export').Cells(Cell.Row, i)
Next i
End If
End If

Next Cell

Application.ScreenUpdating = True
End Sub



bonne journée
MichelXld
 
Bonsoir à tous,

Aie, j'ai un petit soucis avec cette macro :

Si j'ai plus de 256 courriers (256 lignes) dans un type de courrier, la macro bloque.

c'est le ' Dim j As Byte' qui semble limiter cela...

Par contre pas de Prb pour Dim i As Byte car je n'ai que 30 types de courriers possible.




Option Compare Text
Sub triDonnees()
Dim Cell As Range
Dim i As Byte, j As Byte

Application.ScreenUpdating = False

For Each Cell In Sheets('Export').Range('A1:A' & Range('A65536').End(xlUp).Row)

If Cell.Offset(0, 1) = '' Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = RTrim(Cell)
j = 0
Else
If RTrim(Cell) <> 'Description' Then
j = j + 1
For i = 1 To 9
ActiveSheet.Cells(j, i) = Sheets('Export').Cells(Cell.Row, i)
Next i
End If
End If

Next Cell

Application.ScreenUpdating = True
End Sub




Si vous avez une idée pour contourner ce prb...

Merci d'avance,

Cordialement

Jean
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
10
Affichages
2 K
M
Réponses
5
Affichages
2 K
MOA_Excel
M
L
Réponses
5
Affichages
3 K
B
Réponses
10
Affichages
2 K
billylooping
B
Retour