Excel dédoubler en renseignent colonnes
Fermé
Louchadiere
-
26 nov. 2012 à 21:28
Le Pingou Messages postés 12241 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2025 - 15 janv. 2013 à 23:07
Le Pingou Messages postés 12241 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2025 - 15 janv. 2013 à 23:07
Bonjour,
j'ai 1 liste de produits suivant 4 colonnes.
1er colonne N° Réf (maison) du produit
2eme désignation
3eme nom du fabricant
4 eme réf. produit du fabricant
J'ai pour 1 même Réf. (maison) plusieurs fabricant. Cela me doublonne les lignes de N° Réf. (maison). Je voudrai avoir sur la même ligne dans differentes colonnes les differents fabricant et la colonne suivante le N° de la Réf. fabricant.
J'espere que je suis clair merci de votre aide.
j'ai 1 liste de produits suivant 4 colonnes.
1er colonne N° Réf (maison) du produit
2eme désignation
3eme nom du fabricant
4 eme réf. produit du fabricant
J'ai pour 1 même Réf. (maison) plusieurs fabricant. Cela me doublonne les lignes de N° Réf. (maison). Je voudrai avoir sur la même ligne dans differentes colonnes les differents fabricant et la colonne suivante le N° de la Réf. fabricant.
J'espere que je suis clair merci de votre aide.
A voir également:
- Excel dédoubler en renseignent colonnes
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Formule somme excel colonne - Guide
26 réponses
phoceen8
Messages postés
1176
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
1 octobre 2021
157
26 nov. 2012 à 21:43
26 nov. 2012 à 21:43
Salut,
je ne suis pas sur de bien comprendre si je comprend bien en gros:
Tu veux ajouter une/plusieurs colonne(s) entre la 3eme et la 4eme c'est ça ?
Si tel est le cas, cliques droit sur la colonne de droite et insertion
Ex: Ajouter une colonne entre C et D, va sur D en haut cliques droit Insertion et D sera décalé en E, a cause de l'apparition d'un nouveau C
Je sais pas si j'ai bien compris alors redis moi :)
Bon courage
je ne suis pas sur de bien comprendre si je comprend bien en gros:
Tu veux ajouter une/plusieurs colonne(s) entre la 3eme et la 4eme c'est ça ?
Si tel est le cas, cliques droit sur la colonne de droite et insertion
Ex: Ajouter une colonne entre C et D, va sur D en haut cliques droit Insertion et D sera décalé en E, a cause de l'apparition d'un nouveau C
Je sais pas si j'ai bien compris alors redis moi :)
Bon courage
Raymond PENTIER
Messages postés
58890
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 mars 2025
17 298
27 nov. 2012 à 04:23
27 nov. 2012 à 04:23
Il te faudrait une macro : tu t'y connais en VBA ?
Louchadiere
Messages postés
8
Date d'inscription
lundi 26 novembre 2012
Statut
Membre
Dernière intervention
11 février 2013
27 nov. 2012 à 18:13
27 nov. 2012 à 18:13
Bonsoir les Antilles en Auvergne à Volvic il fait 3°.
Je ne maitise pas VBA, je "bricole" .
Mon fichier comprend 21150 lignes et environ 2640 doublons ou triplons... Alors il me faudrait 1 macro...
Je ne maitise pas VBA, je "bricole" .
Mon fichier comprend 21150 lignes et environ 2640 doublons ou triplons... Alors il me faudrait 1 macro...
Louchadiere
Messages postés
8
Date d'inscription
lundi 26 novembre 2012
Statut
Membre
Dernière intervention
11 février 2013
28 nov. 2012 à 19:36
28 nov. 2012 à 19:36
En faite je pense qu'avec une macro qui s'arrêterait sur la 2éme ligne de valeurs identiques, puis copirait les 2 cellules fabricant et réf. en se décalant de 2 colonnes sur la droite et remonterait d'1 ligne, puis effacerait cette ligne testée et reviendrait sur la 1 er cellule de la ligne complémenté, pour continer le test de doublon.
Merci de votre aide..
Merci de votre aide..
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
28 nov. 2012 à 22:52
28 nov. 2012 à 22:52
Bonjour,
Essayer de mettre un exemple avec une vingtaine de lignes (avec doublons ou triplons...) et sur la feuille 2, le résultat que vous souhaitez. Le mettre sur https://www.cjoint.com/ et poster le lien. Je regarderai ce qu'il est faisable !
Essayer de mettre un exemple avec une vingtaine de lignes (avec doublons ou triplons...) et sur la feuille 2, le résultat que vous souhaitez. Le mettre sur https://www.cjoint.com/ et poster le lien. Je regarderai ce qu'il est faisable !
Louchadiere
Messages postés
8
Date d'inscription
lundi 26 novembre 2012
Statut
Membre
Dernière intervention
11 février 2013
29 nov. 2012 à 18:54
29 nov. 2012 à 18:54
Bonsoir
J'espere que la manip à marchée.
Merci de votre aide.
J'espere que la manip à marchée.
Merci de votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
29 nov. 2012 à 21:13
29 nov. 2012 à 21:13
Bonjour,
Il manque le lien qui a été créé .... Le copier et le coller sur le message... !
Il manque le lien qui a été créé .... Le copier et le coller sur le message... !
Louchadiere
Messages postés
8
Date d'inscription
lundi 26 novembre 2012
Statut
Membre
Dernière intervention
11 février 2013
29 nov. 2012 à 21:54
29 nov. 2012 à 21:54
Je ne comprends pas tout ..
https://www.cjoint.com/?0KDv00KVnOl
https://www.cjoint.com/?0KDv00KVnOl
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
29 nov. 2012 à 22:36
29 nov. 2012 à 22:36
Bonjour,
Merci pour le fichier.
Si j'ai bien compris, vous voulez supprimer les lignes dont le [ITEM_ID] est en double, .... Est-ce bien cela ?
Merci pour le fichier.
Si j'ai bien compris, vous voulez supprimer les lignes dont le [ITEM_ID] est en double, .... Est-ce bien cela ?
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
29 nov. 2012 à 23:11
29 nov. 2012 à 23:11
Bonjour,
Essayer pour voir si cela vous convient.
Votre exemple : https://www.cjoint.com/?3KDxldxctPE
Essayer pour voir si cela vous convient.
Votre exemple : https://www.cjoint.com/?3KDxldxctPE
Louchadiere
Messages postés
8
Date d'inscription
lundi 26 novembre 2012
Statut
Membre
Dernière intervention
11 février 2013
1 déc. 2012 à 15:21
1 déc. 2012 à 15:21
Bonjour,
Merci de votre aide.
J'ai fais des petites macros avec excel 4. Maintenant c'est autres choses....
Il me faut plus que la suppression des lignes de doublons, car ce qui fait la mutiplication des lignes des ITEM est en colonnes X, Y, et je veux inserer des colonnes pour concerver ces données en Z, AA, AB, AC, voir l'exemple.
Cordialement
Merci de votre aide.
J'ai fais des petites macros avec excel 4. Maintenant c'est autres choses....
Il me faut plus que la suppression des lignes de doublons, car ce qui fait la mutiplication des lignes des ITEM est en colonnes X, Y, et je veux inserer des colonnes pour concerver ces données en Z, AA, AB, AC, voir l'exemple.
Cordialement
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
Modifié par Le Pingou le 1/12/2012 à 15:54
Modifié par Le Pingou le 1/12/2012 à 15:54
Bonjour,
Libre à vous d'utiliser une autre méthode.
et je veux inserer des colonnes pour concerver ces données en Z, AA, AB, AC
C'est étonnant car mon code prend en compte les valeurs des colonnes selon la ligne des titres du tableau de base !
Si vous voulez de l'aide, merci de mettre sur https://www.cjoint.com/ et poster le lien qui a été créé... !
Salutations.
Le Pingou
Libre à vous d'utiliser une autre méthode.
et je veux inserer des colonnes pour concerver ces données en Z, AA, AB, AC
C'est étonnant car mon code prend en compte les valeurs des colonnes selon la ligne des titres du tableau de base !
Si vous voulez de l'aide, merci de mettre sur https://www.cjoint.com/ et poster le lien qui a été créé... !
Salutations.
Le Pingou
Louchadiere
Messages postés
8
Date d'inscription
lundi 26 novembre 2012
Statut
Membre
Dernière intervention
11 février 2013
1 déc. 2012 à 17:54
1 déc. 2012 à 17:54
Re,
Je me fais mal comprendre, dans l'onglet Brut, le code article 0111857 est dupliqué 3 fois, car en colonne X ce code article a 4 fabricants differents. Dans l'onglet Resultat j'ai inseré 3 colonnes FABRICANT et REF FABRICANT, Z, AA, AB, AC, AD, AE, pour copier ces info.
Cordialement
Louchadiere
Je me fais mal comprendre, dans l'onglet Brut, le code article 0111857 est dupliqué 3 fois, car en colonne X ce code article a 4 fabricants differents. Dans l'onglet Resultat j'ai inseré 3 colonnes FABRICANT et REF FABRICANT, Z, AA, AB, AC, AD, AE, pour copier ces info.
Cordialement
Louchadiere
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
1 déc. 2012 à 22:48
1 déc. 2012 à 22:48
Bonjour,
Eh bien oui, j'ai repris le tout et j'ai constaté que cela m'avait échappé que vous vouliez conserver les valeurs [FABRICANT] et [REF FABRICANT] de la ligne supprimer et de les insérées dans la ligne unique.
Ce n'est pas simple à réaliser car vous avez des doublons multiples (2, 3, 4, et plus).
Merci de patienté ... dimanche oblige ...
Eh bien oui, j'ai repris le tout et j'ai constaté que cela m'avait échappé que vous vouliez conserver les valeurs [FABRICANT] et [REF FABRICANT] de la ligne supprimer et de les insérées dans la ligne unique.
Ce n'est pas simple à réaliser car vous avez des doublons multiples (2, 3, 4, et plus).
Merci de patienté ... dimanche oblige ...
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
3 déc. 2012 à 10:55
3 déc. 2012 à 10:55
Bonjour,
Je vous laisse découvrir et essayer ma proposition : https://www.cjoint.com/?3Ldk3hNCHSR
Je vous laisse découvrir et essayer ma proposition : https://www.cjoint.com/?3Ldk3hNCHSR
Bonjour,
La découverte est de la joie ça marche.
Je vai tenté qlq. aménage car cette macro servira tout les mois.
Merie beaucoup
Louchadiere
La découverte est de la joie ça marche.
Je vai tenté qlq. aménage car cette macro servira tout les mois.
Merie beaucoup
Louchadiere
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
4 déc. 2012 à 21:48
4 déc. 2012 à 21:48
Bonjour,
Merci pour l'information.
Un détail m'a échappé, pour tenir compte de la plage complète de la feuille [Brut] dans la macro [Sub Doublons() ],
veuillez remplacer cette ligne :
Par :
Merci pour l'information.
Un détail m'a échappé, pour tenir compte de la plage complète de la feuille [Brut] dans la macro [Sub Doublons() ],
veuillez remplacer cette ligne :
Sheets("Brut").[A1:AE1000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=.[A1:A2], CopyToRange:=.[D1:F1], Unique:=True
Par :
Sheets("Brut").Range("A1").CurrentRegion.AdvancedFilter _ Action:=xlFilterCopy, CriteriaRange:=.[A1:A2], _ CopyToRange:=.[D1:F1], Unique:=True
Bonjour,
Tous mes voeux pour cette nouvelle année et etc...
Je me sers de cette macro chaque début de mois.
J'ai rajouté le classement en grandissant des catalogues et des fournisseurs.
Juste un problème que je n'arrive pas à résoudre la 3iéme phase se passe bien (classement en ligne des doublons au dela du 4iéme), mais la 4iéme phase l'injection des fabricants et Réf. au dela du 4iéme ne marche pas.
En attendant votre aide je fais manuellement.
Aussi ne serait il pas possible de déterminer le N° de la derniere ligne des tableaux pour paramétrer la macro.
Merci de partager votre savoir
Louchadiere
Tous mes voeux pour cette nouvelle année et etc...
Je me sers de cette macro chaque début de mois.
J'ai rajouté le classement en grandissant des catalogues et des fournisseurs.
Juste un problème que je n'arrive pas à résoudre la 3iéme phase se passe bien (classement en ligne des doublons au dela du 4iéme), mais la 4iéme phase l'injection des fabricants et Réf. au dela du 4iéme ne marche pas.
En attendant votre aide je fais manuellement.
Aussi ne serait il pas possible de déterminer le N° de la derniere ligne des tableaux pour paramétrer la macro.
Merci de partager votre savoir
Louchadiere
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
7 janv. 2013 à 21:56
7 janv. 2013 à 21:56
Bonjour,
Avec tous mes voeux pour 2013, oui c'est possible, mais pour cela il faut des éléments précis .... !
Avec tous mes voeux pour 2013, oui c'est possible, mais pour cela il faut des éléments précis .... !
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
7 janv. 2013 à 23:05
7 janv. 2013 à 23:05
Bonjour,
Si le code n'a pas été modifier, essayer dans la procédure [Sub insertfabr()] d'insérer en dessous [Set sh ....] cette ligne :
Et la ligne après [With] doit-être :
Si le code n'a pas été modifier, essayer dans la procédure [Sub insertfabr()] d'insérer en dessous [Set sh ....] cette ligne :
nbd = Range("nbmaxdbl")
Et la ligne après [With] doit-être :
.Columns("Z").Resize(, 2 * (nbd - 1)).Insert
Bonjour,
L'inscertion des 2 lignes d'instruction permet d'inscerer toutes les colonnes suivant Nb max Dbl, mais ne copie par les entête de colonne et les données correspondant.
Pourriez vous documenter chaques instruction, aici je pourrais peut être être autonome...
Merci
Sub SupDoublonsColB()
' 1 Copie liste sans doublon dans résultat
Application.ScreenUpdating = False
Range("nbmaxdbl") = 0
Sheets("Resultat").Range("A1").CurrentRegion.Clear
Set sh = Sheets("Articles_PDR_Requête")
a = sh.Range("A1").CurrentRegion.Value
Set cbd = sh.Range("B1:B" & sh.Cells(Rows.Count, 1).End(xlUp).Row)
Dim c()
ReDim c(1 To UBound(a, 1), 1 To UBound(a, 2))
ligne = 1
Set mondico = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
If Not mondico.exists(a(i, 2)) Then
mondico.Add a(i, 2), 1
For k = 1 To UBound(a, 2): c(ligne, k) = a(i, k): Next k
nbd = WorksheetFunction.CountIf(cbd, a(i, 2))
If nbd > Range("nbmaxdbl") Then Range("nbmaxdbl") = nbd
ligne = ligne + 1
End If
Next
Sheets("Resultat").[A1].Resize(mondico.Count, UBound(c, 2)) = c
Set sh = Nothing
Set cbd = Nothing
Set mondico = Nothing
Application.ScreenUpdating = True
' MsgBox "Voir feuille [Resultat]"
End Sub
Sub Doublons()
'2 Extraire les doublons, liste [ITEM_ID / FABRICANT / REF FABRICANT] dans TemDbl
Dim dl As Integer
With Sheets("TempDbl")
.Range("G2:P" & .Cells(Rows.Count, 4).End(xlUp).Row + 1).Clear
Sheets("Articles_PDR_Requête").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.[A1:A2], CopyToRange:=.[D1:F1], Unique:=True
dl = .Cells(Rows.Count, 4).End(xlUp).Row
' format nombre pour colonne [ITEM_ID]
.Range("A3") = 1
.Range("A3").Copy
.Range("D2:D" & dl).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
.Range("A3").Clear
.Columns("D:F").Sort Key1:=.Columns("D"), Order1:=xlAscending, Header:=xlGuess
End With
'Classer ITEM_ID & FABBRICANT
Range("d1").Select
Selection.End(xlDown).Select
Cells(ActiveCell.Row, "F").Select
ActiveWorkbook.Names.Add Name:="fin_colon_F", RefersToR1C1:=Selection
Range("D1:fin_colon_F").Select
Columns("D:F").Select
ActiveWorkbook.Worksheets("TempDbl").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("TempDbl").Sort.SortFields.Add Key:=Columns("D") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("TempDbl").Sort.SortFields.Add Key:=Columns("E") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("TempDbl").Sort
.SetRange Range("D1:fin_colon_F")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("D:F").EntireColumn.AutoFit
End Sub
Sub recupfabrefsupdoub()
'3 Range fabricant et réf par articles dans TempDbl
With Sheets("TempDbl")
nbd = Range("nbmaxdbl")
For c = .Cells(Rows.Count, 4).End(xlUp).Row To 2 Step -1
If .Cells(c, "D") = .Cells(c, "D").Offset(-1, 0) Then
' MsgBox "doublons : " & Cells(c, "D")
.Range(.Cells(c, 5), .Cells(c, 5 + (nbd * 2) - 1)).Copy Destination:=.Cells(c, "g").Offset(-1, 0)
.Rows(c).Delete
End If
Next c
End With
Columns("D:AK").EntireColumn.AutoFit
End Sub
Sub insertfabr()
'4 Injecte les divers fabricants et réf dans Resultat
Set sh = Sheets("TempDbl")
nbd = Range("nbmaxdbl")
With Sheets("Resultat")
'.Columns("Z").Resize(, 2 * (6).Insert
.Columns("Z").Resize(, 2 * (nbd - 1)).Insert
sh.Range(sh.Cells(1, 7), sh.Cells(1, 12)).Copy Destination:=.Cells(1, "Z")
For c = 2 To sh.Cells(Rows.Count, 5).End(xlUp).Row
nuli = WorksheetFunction.Match(sh.Cells(c, 4), .Range("B:B"), False)
sh.Range(sh.Cells(c, 5), sh.Cells(c, 12)).Copy Destination:=.Cells(nuli, "X")
Next c
End With
Columns("x:AF").EntireColumn.AutoFit
Range("A1").Select
ActiveWindow.SplitRow = 0.705882352941177
Selection.AutoFilter
End Sub
L'inscertion des 2 lignes d'instruction permet d'inscerer toutes les colonnes suivant Nb max Dbl, mais ne copie par les entête de colonne et les données correspondant.
Pourriez vous documenter chaques instruction, aici je pourrais peut être être autonome...
Merci
Sub SupDoublonsColB()
' 1 Copie liste sans doublon dans résultat
Application.ScreenUpdating = False
Range("nbmaxdbl") = 0
Sheets("Resultat").Range("A1").CurrentRegion.Clear
Set sh = Sheets("Articles_PDR_Requête")
a = sh.Range("A1").CurrentRegion.Value
Set cbd = sh.Range("B1:B" & sh.Cells(Rows.Count, 1).End(xlUp).Row)
Dim c()
ReDim c(1 To UBound(a, 1), 1 To UBound(a, 2))
ligne = 1
Set mondico = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
If Not mondico.exists(a(i, 2)) Then
mondico.Add a(i, 2), 1
For k = 1 To UBound(a, 2): c(ligne, k) = a(i, k): Next k
nbd = WorksheetFunction.CountIf(cbd, a(i, 2))
If nbd > Range("nbmaxdbl") Then Range("nbmaxdbl") = nbd
ligne = ligne + 1
End If
Next
Sheets("Resultat").[A1].Resize(mondico.Count, UBound(c, 2)) = c
Set sh = Nothing
Set cbd = Nothing
Set mondico = Nothing
Application.ScreenUpdating = True
' MsgBox "Voir feuille [Resultat]"
End Sub
Sub Doublons()
'2 Extraire les doublons, liste [ITEM_ID / FABRICANT / REF FABRICANT] dans TemDbl
Dim dl As Integer
With Sheets("TempDbl")
.Range("G2:P" & .Cells(Rows.Count, 4).End(xlUp).Row + 1).Clear
Sheets("Articles_PDR_Requête").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.[A1:A2], CopyToRange:=.[D1:F1], Unique:=True
dl = .Cells(Rows.Count, 4).End(xlUp).Row
' format nombre pour colonne [ITEM_ID]
.Range("A3") = 1
.Range("A3").Copy
.Range("D2:D" & dl).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
.Range("A3").Clear
.Columns("D:F").Sort Key1:=.Columns("D"), Order1:=xlAscending, Header:=xlGuess
End With
'Classer ITEM_ID & FABBRICANT
Range("d1").Select
Selection.End(xlDown).Select
Cells(ActiveCell.Row, "F").Select
ActiveWorkbook.Names.Add Name:="fin_colon_F", RefersToR1C1:=Selection
Range("D1:fin_colon_F").Select
Columns("D:F").Select
ActiveWorkbook.Worksheets("TempDbl").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("TempDbl").Sort.SortFields.Add Key:=Columns("D") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("TempDbl").Sort.SortFields.Add Key:=Columns("E") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("TempDbl").Sort
.SetRange Range("D1:fin_colon_F")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("D:F").EntireColumn.AutoFit
End Sub
Sub recupfabrefsupdoub()
'3 Range fabricant et réf par articles dans TempDbl
With Sheets("TempDbl")
nbd = Range("nbmaxdbl")
For c = .Cells(Rows.Count, 4).End(xlUp).Row To 2 Step -1
If .Cells(c, "D") = .Cells(c, "D").Offset(-1, 0) Then
' MsgBox "doublons : " & Cells(c, "D")
.Range(.Cells(c, 5), .Cells(c, 5 + (nbd * 2) - 1)).Copy Destination:=.Cells(c, "g").Offset(-1, 0)
.Rows(c).Delete
End If
Next c
End With
Columns("D:AK").EntireColumn.AutoFit
End Sub
Sub insertfabr()
'4 Injecte les divers fabricants et réf dans Resultat
Set sh = Sheets("TempDbl")
nbd = Range("nbmaxdbl")
With Sheets("Resultat")
'.Columns("Z").Resize(, 2 * (6).Insert
.Columns("Z").Resize(, 2 * (nbd - 1)).Insert
sh.Range(sh.Cells(1, 7), sh.Cells(1, 12)).Copy Destination:=.Cells(1, "Z")
For c = 2 To sh.Cells(Rows.Count, 5).End(xlUp).Row
nuli = WorksheetFunction.Match(sh.Cells(c, 4), .Range("B:B"), False)
sh.Range(sh.Cells(c, 5), sh.Cells(c, 12)).Copy Destination:=.Cells(nuli, "X")
Next c
End With
Columns("x:AF").EntireColumn.AutoFit
Range("A1").Select
ActiveWindow.SplitRow = 0.705882352941177
Selection.AutoFilter
End Sub
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
13 janv. 2013 à 16:14
13 janv. 2013 à 16:14
Bonjour,
Le minimum d'explication se trouve directement dans les procédures.
Le fichier : https://www.cjoint.com/?3Anqn13zCGP
Note le fichier fonctionne correctement selon votre demande.
Le minimum d'explication se trouve directement dans les procédures.
Le fichier : https://www.cjoint.com/?3Anqn13zCGP
Note le fichier fonctionne correctement selon votre demande.
Bonsoir,
Merci pour les explications.
Sur un fichier de 23000 lignes, la macro ** insérer les lignes sans doublons
bloque à la l'instruction Sheets("Resultat").[A1].Resize(mondico.Count, UBound(c, 2)) = c
peut être un problème de mèmoire.
Y a t'il une solution.
Merci pour les explications.
Sur un fichier de 23000 lignes, la macro ** insérer les lignes sans doublons
bloque à la l'instruction Sheets("Resultat").[A1].Resize(mondico.Count, UBound(c, 2)) = c
peut être un problème de mèmoire.
Y a t'il une solution.
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
13 janv. 2013 à 21:56
13 janv. 2013 à 21:56
Bonjour,
Qu'elle est le message d'erreur exact !
Qu'elle est le message d'erreur exact !
Suite,
Erreur d'execution 1004
Erreur défini par l'application ou l'objet
Pointé suivant l'instruction
** insérer les lignes sans doublons
Sheets("Resultat").[A1].Resize(mondico.Count, UBound(c, 2)) = c
Cordialement
Erreur d'execution 1004
Erreur défini par l'application ou l'objet
Pointé suivant l'instruction
** insérer les lignes sans doublons
Sheets("Resultat").[A1].Resize(mondico.Count, UBound(c, 2)) = c
Cordialement
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
13 janv. 2013 à 23:15
13 janv. 2013 à 23:15
Bonjour,
Merci, oui effectivement il y a un problème avec un si grand nombre de lignes (23000 de 30 colonnes).
Pour l'instant je n'ai pas de solution sans faire un test.
Réponse pas avant mardi à moins qu'une autre personne intervienne... !i
Merci, oui effectivement il y a un problème avec un si grand nombre de lignes (23000 de 30 colonnes).
Pour l'instant je n'ai pas de solution sans faire un test.
Réponse pas avant mardi à moins qu'une autre personne intervienne... !i
27 nov. 2012 à 18:10
Malheureusement ce n'est pas si simple. Mon fichier comprend 21150 lignes et environ 2640 doublons ou triplons... Alors il me faudrait 1 macro... et je maitrise pas suffisement VBA...
27 nov. 2012 à 18:14
Bon Courage :)