Fusionner deux lignes en gardant le contenu

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

spawnx

XLDnaute Nouveau
Salut à tous,

Voila j'ai quelqu'un de mon entourage pro qui ma fait des tableaux listant des produits.
Le souci c'est que cette personne ma inscrite les produit sur deux lignes...

Donc je souhaiterai fusionner les deux lignes sans perdre le contenu d'une des deux lignes...

Merci de m'aider les guys ;-)
 
Re : Fusionner deux lignes en gardant le contenu

Bonjour,

Y a-t-il un moyen de faire la même chose (fusionner des cellules en gardant le contenu), si on ne connait pas à l'avance le nombre de lignes à fusionner. Dans mon cas,iIl faut arrêter la fusion à la premiere ligne blanche, puis recommencer avec le bloc de cellules suivant.

Merci d'avance
Genevieve
 
Re : Fusionner deux lignes en gardant le contenu

Bonjour Geneviève et bienvenue sur ce forum de rêve 🙂

Le mieux ainsi que tu (ne) l'auras peut-être (pas) lu dans Lien supprimé, serait de joindre un petit fichier qui illustre ta demande (structure du fichier, type des données, différents cas de figure, etc...) sans données confidentielles.

Tu indiques, dans ce même classeur, le résultat espéré et tu reviens régulièrement voir si des questions te sont posées ou si des solutions sont proposées.
 
Re : Fusionner deux lignes en gardant le contenu

Bonjour,

Sur les bons conseils de Modeste, voici un exemple de ce que je cherche à faire.
L'onglet départ est ce que je récupère après un copier/coller de Word vers Excel
L'onglet résultat contient ce que je souhaite récupérer à la fin:
- Mettre la 1ere ligne dans la 1ere colonne
- Mettre toutes les lignes suivantes dans la 2eme colonne
- Mettre la dernière ligne dans la 3eme colonne, si elle commence par "ACTION"

Cordialement
Genevieve
 

Pièces jointes

Re : Fusionner deux lignes en gardant le contenu

Re-bonjour,

Fichtre! (me suis-je exclamé in petto en ouvrant le fichier)

J'espère qu'il n'y aura pas une tripotée de cas particuliers qui rendront caduque cette première proposition 😱

Je n'ai même pas essayé par formules! Un premier essai, donc, par macro:
- ouvrir le fichier
- appuyer sur Alt+F8
- sélectionner la macro "transposer"
- cliquer sur "Exécuter"
- aller vérifier le contenu de la feuille "résultat" (la feuille "résultat attendu" pourra être supprimée: c'était ton modèle à reproduire)

Tu nous diras si ça fonctionne comme tu le souhaites?
 

Pièces jointes

Re : Fusionner deux lignes en gardant le contenu

ouaouhhh, super, merci Modeste.
Il y aura forcément des tas de cas particuliers, vu que j'ai quelques centaines de pages word, où les infos ont été saisies en texte libre.
Je les gèrerai à la main, mais ta macro va déja me faire gagner plusieurs jours de travail, en déblayant 80% du travail.
Merci beaucoup.
Genevieve
 
Bonjour,

Je fais remonter ce sujet suite à une problématique d'ordre similaire.

Je souhaiterais fusionner le contenu de plusieurs lignes se trouvant dans une colonne spécifique et correspondant à un article en particulier tout en répétant cette opération afin qu'elle s'exécute sur l'ensemble des lignes de la feuille contenant des données.

Afin que cela soit plus clair j'ai repris le fichier contenant la solution proposée à GenevieveMetz en ayant adapté les éléments y figurant afin qu'ils correspondent au sujet abordé.

Etant un faux-débutant en VBA je souhaiterais vos lumières à ce sujet.

En vous remerciant à l'avance,
 

Pièces jointes

Bonjour Chalghoumi,

Je te laisse le soin de tester et vérifier avec la plus grande attention.
Remplace le code du module standard par celui-ci:
VB:
Sub transposer()
Set src = Sheets("départ")
Set cible = Sheets("résultat")
derlig = src.Cells(src.Rows.Count, 4).End(xlUp).Row
tablo = src.Range("A5:D" & derlig)
Dim tablo2(), tablo3()
For lig = 1 To UBound(tablo)
    If tablo(lig, 1) <> "" Then
        x = x + 1
        ReDim Preserve tablo2(1 To 4, 1 To x)
        tablo2(1, x) = tablo(lig, 1)
        tablo2(2, x) = tablo(lig, 2)
        tablo2(3, x) = tablo(lig, 3)
    Else
        tablo2(4, x) = tablo2(4, x) & IIf(tablo2(4, x) = "", "", Chr(10)) & tablo(lig, 4)
    End If
Next lig
cible.Cells.ClearContents
ReDim tablo3(x - 1, 3)
For i = 1 To x
    For y = 1 To 4
        tablo3(i - 1, y - 1) = tablo2(y, i)
    Next y
Next i
cible.[A1].Resize(x, 4).Value = tablo3
End Sub
 
- 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
1
Affichages
183
Retour