Ranger deux colonnes ous excel
Fermé
fredmam
-
24 sept. 2008 à 12:00
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 11 juin 2009 à 21:58
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 11 juin 2009 à 21:58
A voir également:
- Ranger deux colonnes ous excel
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Fusionner deux colonnes excel - Guide
- Formule excel - Guide
- Deux comptes whatsapp - Guide
6 réponses
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
24 sept. 2008 à 14:08
24 sept. 2008 à 14:08
bonjour
essaye déjà de trier dans l'ordre croissant tes deux tableaux à partir de la colonne "article".
ensuite colle les données d'une année à côté des données de l'année suivante
insère des cellules vides entre les lignes de l'une ou l'autre série de données pour rétablir la ligne de comparaison.
(ceci est faisable manuellement à condition de ne pas avoir trop de nouvelles données)
à plus
essaye déjà de trier dans l'ordre croissant tes deux tableaux à partir de la colonne "article".
ensuite colle les données d'une année à côté des données de l'année suivante
insère des cellules vides entre les lignes de l'une ou l'autre série de données pour rétablir la ligne de comparaison.
(ceci est faisable manuellement à condition de ne pas avoir trop de nouvelles données)
à plus
Salut,
C'est ce que je voudrais essayer de ne pas faire, j'ai pas mal de changements d'articles.
En fait j'ai déjà fais mon tri croissant mais sur 4000 références je vais y passer la nuit.
Merci pour vos réponses.
C'est ce que je voudrais essayer de ne pas faire, j'ai pas mal de changements d'articles.
En fait j'ai déjà fais mon tri croissant mais sur 4000 références je vais y passer la nuit.
Merci pour vos réponses.
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
29 sept. 2008 à 20:40
29 sept. 2008 à 20:40
bonsoir
essaye ce petit programme : https://www.cjoint.com/?jDuIcZej1r
il devrait pouvoir te dépanner.
Tu colles :
- les données du fichier1 dans les colonnes A à C à partir de la ligne 10
- les données du fichier2 dans les colonnes D à F à partir de la ligne 10
ensuite tu tries chaque famille de données dans l'ordre croissant des articles et tu appuies sur "Comparer"
Ces tris pourraient bien sûr être automatisés si cela te conviens
à plus
essaye ce petit programme : https://www.cjoint.com/?jDuIcZej1r
il devrait pouvoir te dépanner.
Tu colles :
- les données du fichier1 dans les colonnes A à C à partir de la ligne 10
- les données du fichier2 dans les colonnes D à F à partir de la ligne 10
ensuite tu tries chaque famille de données dans l'ordre croissant des articles et tu appuies sur "Comparer"
Ces tris pourraient bien sûr être automatisés si cela te conviens
à plus
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
29 sept. 2008 à 23:38
29 sept. 2008 à 23:38
bonjour fredmam, LePierre,
Si j'ai compris ta question, je te propose sur ton classeur de trier :
- tes 3 premières colonnes sur code article
- tes 3 colonnes D,E,F sur code article
puis d'insérer et lancer cette macro (mode d'emploi) :
Les anciens articles non reconduits sont en fin, les nouveaux sont insérés avec un vide aux 3 premières colonnes.
Si j'ai compris ta question, je te propose sur ton classeur de trier :
- tes 3 premières colonnes sur code article
- tes 3 colonnes D,E,F sur code article
puis d'insérer et lancer cette macro (mode d'emploi) :
Public Sub anc_nouv() Dim lig As Long Application.ScreenUpdating = False For lig = 2 To UsedRange.Rows.Count If Cells(lig, 1).Value > Cells(lig, 4).Value Then Cells(lig, 1).Resize(1, 3).Insert Shift:=xlDown ElseIf Cells(lig, 1).Value < Cells(lig, 4).Value Then Cells(lig, 4).Resize(1, 3).Insert Shift:=xlDown End If Next lig Cells.Sort Key1:=Range("D2"), Order1:=xlAscending, Key2:=Range("A2") _ , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal Application.ScreenUpdating = True End Sub
Les anciens articles non reconduits sont en fin, les nouveaux sont insérés avec un vide aux 3 premières colonnes.
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
30 sept. 2008 à 09:37
30 sept. 2008 à 09:37
bonjour gbinform et fredmam
belle réalisation !
j'ai juste modifié la ligne
à plus
belle réalisation !
j'ai juste modifié la ligne
For lig = 2 To ActiveSheet.UsedRange.Rows.Counten ajoutant "ActiveSheet." car j'avais un message d'erreur
à plus
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
>
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
30 sept. 2008 à 09:58
30 sept. 2008 à 09:58
bonjour LePierre,
Merci du message et effectivement cela dépend de l'emplacement de la macro :
- si tu mets la macro dans la feuille cela fonctionne car cela s'adresse à la feuille concernée.
- si tu la mets dans un module, il faut qualifier la feuille concernée sinon il y a ambiguïté pour excel.
amicalement
Merci du message et effectivement cela dépend de l'emplacement de la macro :
- si tu mets la macro dans la feuille cela fonctionne car cela s'adresse à la feuille concernée.
- si tu la mets dans un module, il faut qualifier la feuille concernée sinon il y a ambiguïté pour excel.
amicalement
En tout cas merci pour tout.
Malheureusement j'ai tout fait a la main et ca m'a pris plus de 4 heures.
Par contre je garde la macro précieusement pour l'année prochaine.
Super boulot, merci encore.
Malheureusement j'ai tout fait a la main et ca m'a pris plus de 4 heures.
Par contre je garde la macro précieusement pour l'année prochaine.
Super boulot, merci encore.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je remonte le post car suite a formattage independant de ma volonté j'ai perdu le fichier de macro et quand je copie la macro ecrite j'ai un message d'erreur sur DataOption1 "argument nomme introuvable) erreur de compilation ??
Merci par avance pour votre aide précieuse.
Je remonte le post car suite a formattage independant de ma volonté j'ai perdu le fichier de macro et quand je copie la macro ecrite j'ai un message d'erreur sur DataOption1 "argument nomme introuvable) erreur de compilation ??
Merci par avance pour votre aide précieuse.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
11 juin 2009 à 21:58
11 juin 2009 à 21:58
bonjour
Le paramètre xlSortNormal s'écrit la lettre L minuscule pas le chiffre 1
Vérifies que tu as bien ce code.
Le paramètre xlSortNormal s'écrit la lettre L minuscule pas le chiffre 1
Vérifies que tu as bien ce code.