• Initiateur de la discussion Initiateur de la discussion Rem$
  • 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 !

Rem$

XLDnaute Junior
bonjour à tous,

je joins un fichier pour expliquer mon pb car il est difficile de l'expliquer par des mots
en fait j'ai une liste de N° avec des infos sur la ligne
1 ligne par N°
le N° est décomposable en 4 parties
ex : 55 01 01 0001
55= année 2005
01 = N° agence
01 = N° opérateur
0001 = N° ordre

je voudrais trier de façon automatique cette liste pour renvoyer les N° avec les infos attachées dans les feuilles en fonction des N° d'agences....
l'exemple est plus clair........

d'avance merci pour les pistes........

Rem$
[file name=tri-agence_20050602123917.zip size=8207]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tri-agence_20050602123917.zip[/file]
 

Pièces jointes

Bonjour le forum, rem$

Une proposition en pièce jointe.

Sub Bouton8_QuandClic()
Dim c As Range
Dim i As Byte
Dim derligne As Integer

For Each c In Range('a10:a' & Range('a65536').End(xlUp).Row)
With Sheets(Mid(c, 3, 2))
    derligne = .Range('a65536').End(xlUp).Row + 1
   
For i = 1 To 4
        .Cells(derligne, i) = Cells(c.Row, i)
   
Next i
End With
Next c
End Sub


salut
[file name=tri-agence_20050602131414.zip size=16330]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tri-agence_20050602131414.zip[/file]
 

Pièces jointes

Hello all,

Arfff je fais le truc je reviens pour répondre et y'a deja des réponses !!

Je mets mon exemple quand même !!!

Et puis d'abord mon code il est entierement commenté moi !!!

😛

@+

Creepy [file name=tri-agence_20050602134104.zip size=19898]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tri-agence_20050602134104.zip[/file]
 

Pièces jointes

je reviens sur la macro car dans le cas d'hervé, elle analyse le tableau jusqu'à une ligne déterminée mais comment faire s'il le tableau n'est pas complet.... avant la ligne car dans mon cas ca bug si la ligne est vide

merci

Rem$
 
Re

je pense avoir compris :

Tu n'a pas toujours des données en colonne A , c'est ca ???

Alors il suffit de tester avant si la cellule n'est pas vide, comme ca :

Sub Bouton8_QuandClic()
Dim c As Range
Dim i As Byte
Dim derligne As Integer

For Each c In Range('a2:a' & Range('a65536').End(xlUp).Row)
If c <> '' Then
&nbsp; &nbsp;
With Sheets(Mid(c, 3, 2))
&nbsp; &nbsp; &nbsp; &nbsp; derligne = .Range('a65536').End(xlUp).Row + 1
&nbsp; &nbsp; &nbsp; &nbsp;
For i = 1 To 4
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Cells(derligne, i) = Cells(c.Row, i)
&nbsp; &nbsp; &nbsp; &nbsp;
Next i
&nbsp; &nbsp;
End With
End If
Next c
End Sub


C'est ca ?

🙂

salut
 
re

en fait mon N° se trouve dans la colonne B mais il arrive que le pb n'est pas de N° alors dans ce cas on remplace le N°à 10 chiffres par 10fois # j'ai créé une feuille nomée ## pour remplacer le N° agence mais je pense que c ça qui coince

peux pas faire passer le fichier trop lourd meme épuré plus de 50Ko
Rem$
 
re

oui ca plus une erreure de frappe et le tour est joué ça marche

a l'utilisation je me rends compte que lorsque je relance la macro il remet l'intégralité de ce qu'il trouve et en fait la consultation pourrait se faire de façon quotidienne alors est-il possible de faire une mise à jour plutot que de tout remettre à nouveau???

je sais j'abuse mais bon ca serait le pied sinon faudra effacer apres chaque consultation (le doc en partagé sur le reseau...)

merci

Rem$
 
re

alors cette macro gère dans la colonne B les ###### si bien sur tu as une feuille nommée '############'

de plus, elle effaces avant les données inscrites dans les autres feuilles.

Sub Bouton8_QuandClic()
Dim c As Range
Dim i As Byte
Dim derligne As Integer
Dim numero As String

For Each c In Range('b2:b' & Range('b65536').End(xlUp).Row)
If c <> '' Then
If c = '##########' Then
numero = '##########'
Else
numero = Mid(c, 3, 2)
End If

With Sheets(numero)
&nbsp; &nbsp; derligne = .Range('a65536').End(xlUp).Row + 1
&nbsp; &nbsp; .Rows('2:' & derligne).ClearContents
&nbsp; &nbsp;
For i = 1 To 4
&nbsp; &nbsp; &nbsp; &nbsp; .Cells(derligne, i) = Cells(c.Row, i)
&nbsp; &nbsp;
Next i
End With
End If
Next c
End Sub



Par contre , petite question : que deviennent les données dans la 1ère feuille après traitement ?

salut
 
re

en fait la feuil1 est partagée sur le reseau et consultable apres elle est déplacée pour archive. les données sont elles aussi archivées.

ce tri permettra aux agences de pouvoir visionner rapidement les N° qui les concernent car on ne peut pas filtrer une feuille partagée avec les outils classiques d'excel....

la feuil1 étant la base de travail, elle reste tel kelle....

je teste de suite la suite de la macro

Rem$
 
Bonjour tout le monde
salut rem$

oui, c'est pour ca que je te demandais ce que devenais les données de la feuille 1 après traitement.

comment arrivent les données en feuille1, une fois par jour, plusieurs fois, d'une maniere globale ou juste une mise à jour ?

En attendant une réponse, je te souhaite une bonne journée.

Salut
 
- 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

Discussions similaires

Réponses
4
Affichages
1 K
nicomaiden
N
V
Réponses
1
Affichages
2 K
R
Réponses
0
Affichages
742
R
E
Réponses
0
Affichages
1 K
em3xx
E
Retour