Dédoublonner en compléter les cellules de plusieurs lignes
Fermé
Coordinatrice
Messages postés
1
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
1 novembre 2013
-
1 nov. 2013 à 11:26
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 1 nov. 2013 à 21:23
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 1 nov. 2013 à 21:23
A voir également:
- Dédoublonner en compléter les cellules de plusieurs lignes
- Formule excel pour additionner plusieurs cellules - Guide
- Site de vente en ligne particulier - Guide
- Dedoublonner excel - Guide
- Partage de photos en ligne - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
1 réponse
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
1 nov. 2013 à 21:23
1 nov. 2013 à 21:23
Bonjour,
Si j'ai bien compris, la colonne A contient la référence et tu as concaténé tes 8 fichiers en décalant les autres colonnes et donc en laissant vide les cellules dont les infos proviennent des autres fichiers.
Essaies cette macro :
Il ne restera plus qu'a éliminer les doublons (avec un filtre élaboré).
Si j'ai bien compris, la colonne A contient la référence et tu as concaténé tes 8 fichiers en décalant les autres colonnes et donc en laissant vide les cellules dont les infos proviennent des autres fichiers.
Essaies cette macro :
Option Explicit
Option Private Module
Public Sub Dédoublonner()
Dim rng As Range
Dim cel As Range
Dim val As Variant
Dim col As Long
Dim p°L As Long
Dim d°L As Long
Dim ctr As Long
Set rng = ActiveSheet.Range("A1").CurrentRegion
Set cel = rng.Cells(2, 1)
rng.Sort Key1:=cel, Order1:=xlAscending, Header:=xlYes
Do While Not IsEmpty(cel.Value)
val = cel.Value
For col = 1 To rng.Columns.Count - 1
ctr = 0
val = Null
Do While cel.Offset(ctr).Value = cel.Value And cel.Offset(ctr).Row <= rng.Rows.Count
If cel.Offset(ctr, col).Formula <> "" Then
val = cel.Offset(ctr, col).Value
Exit Do
End If
ctr = ctr + 1
Loop
ctr = 0
If Not IsEmpty(val) Then
Do While cel.Offset(ctr).Value = cel.Value And cel.Offset(ctr).Row <= rng.Rows.Count
cel.Offset(ctr, col).Value = val
ctr = ctr + 1
Loop
End If
Next
Set cel = cel.Offset(ctr)
Loop
End Sub
Il ne restera plus qu'a éliminer les doublons (avec un filtre élaboré).