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

L

ledams83

Guest
Bonjour à tous,

j'ai une question à vous poser.
je dois lier les références de deux catalogues différents sans pour autant faire de doublon.
il faut donc que j'arrive à l'aide d'un outils (macro, formule, ... ?) à faire une sorte de fusion entre 2 lignes semblables (dans les colonnes A, B et C) mais qui n'ont pas le même contenu (dans les colonnes D, E, F, G et H).
Je vous ai joint un fichier "AVANT/APRES" que j'ai réalisé en manuel et qu'il faudrait donc automatiser si possible.
Merci de votre aide
Damien
 

Pièces jointes

Re : Fusion de 2 lignes

Bonsoir Ledams83,

personne n'a une idée sur la chose ?! 🙁
je compte sur vous les pro EXCEL 😀

Pro, non mais une idée oui... en VBA.

Mais pour cela, avant de passer à la création du code, j'aurais besoin de plus d'information :

-> si tu as une ligne en doublon avec dans D à H, des cellules renseignées de façon différentes sur les deux lignes, tu fais quoi????
* tu prends les deux solutions? (une concaténation ?)
* tu prends aucune des deux solutions?
* tu privilégie celle de la ligne qui se trouve au-dessus? en-dessous? ....?

Merci de compléter le fichier ci-joint.

Bonne soirée
 

Pièces jointes

Dernière édition:
Re : Fusion de 2 lignes

Ça peut aider, inspirer d'une réponse à ce type problème ici : Ce lien n'existe plus


Code:
'Cette procédure fusionne les lignes de la feuille courante quand le contenu de 2 cellule consécutive est identique
'Le numéro de la colonne des cellules à comparé est contenu dans la variable NumColTest
'Pour fonctionner, le contenu cette colonne doit avoir été triés
'Dans la fusion, le contenu de chaque cellule de la ligne de dessous est concaténé avec un espace au contenu de la cellule au dessus, si le contenu des cellules est différent
'La première ligne est sensé contenir les titres de colonnes et toutes les cellules y doivent être remplie (sinon vous risquez de rater une partie des cellules)
Sub FusionneLignes()
Dim NumColTest As Integer 'Numéro de la colonne à tester
Dim NumDerLi As Integer 'Numéro de la dernière ligne
Dim NumDerCol As Integer 'Numéro de la dernière colonne
Dim I As Integer 'Indice de boucle
Dim J As Integer 'Indice de boucle

'Désactive le raffraîchissement de l'écran
Application.ScreenUpdating = False

NumColTest = 8 'Colonne H

    'Recherche de la dernière ligne de la colonne à tester
    NumDerLi = Columns(NumColTest).Find("*", , , , , xlPrevious).Row
    'Recherche de la dernière ligne de la colonne à tester
    NumDerCol = Rows(1).Find("*", , , , , xlPrevious).Column
'MsgBox NumDerLi & "-" & NumDerCol
'Exit Sub
    ' boucle qui commence à la fin à cause des suppression de lignes


    For I = NumDerLi To 2 Step -1
      'Si la valeur de la cellule au dessus est égale à la valeur de la cellule courante alors
      If Cells(I, NumColTest) = Cells(I - 1, NumColTest) Then
      'On parcours la ligne en concaténant chaque cellule si elle sont différentes
      For J = 1 To NumDerCol
        If Trim(Cells(I - 1, J)) <> Trim(Cells(I, J)) Then
            'Evite d'insérer un espace si une des cellule n'a pas de contenu
            If Cells(I - 1, J) = "" Or Cells(I, J) = "" Then
                Cells(I - 1, J) = Cells(I - 1, J) & Cells(I, J)
            Else
                Cells(I - 1, J) = Cells(I - 1, J) & " " & Cells(I, J)
            End If
        End If
      Next J
      Rows(I).Delete
      End If
    Next
'Active le raffraîchissement de l'écran
Application.ScreenUpdating = True
End Sub

Un peu tard, mais c'est utile, j'en ai eu besoin aujourd'hui.

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

Réponses
250
Affichages
17 K
Retour