Fusion lignes excel

Résolu
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -  
 youchlure -
Bonjour,

j'ai vu sur un précedent poste qu'il était possible de fusionner des lignes

Voici mon tableau :

A 25
A 75

B 55
B 25
B 20

Et je voudrais tout sur la meme ligne...Serais ce possible?


Merci beaucoup

PS: je peux eventuellement poster mon tableau
A voir également:

25 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Fusionner les lignes n'aditionne pas leurs contenu, du moins à ma connaissance.
0
youchlure
 
tout à fait je suis d'accord la dessus, mais c'est juste que je me posais la question, je pense que mes précedents analyses ne devaient pas avoir de site ou un code occsol revenait plusieurs fois, voila la différence à mon avis
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
OK, compris ta demande, laisse moi un peu de temps, pour le moment je suis pas trop disponnible, si un autre intervenant veux t'aider.. sinon ce sera pour demain ou après demein.
A+
0
youchlure
 
ok, merci beaucoup

je n'en ai pas besoin pour ce soir, si demain tu as le temps dans la journée ce serait parfait sinon j'attendrai pour ce week end, meme pour lundi ce serait déja bien :)

Merci encore pour ton aide et ton travail

Bonne journée
0
Krys
 
Bonsoir
En attendant mieux, une solution mi-macro :

les données en feuil1
feuil2, en B2 on entre : =SOMME.SI(Feuil1!$A$2:$A$2279;$A2;Feuil1!B$2:B$2279)*(Feuil1!B$1=Feuil2!B$1)
on étire jusqu'a AB2
en AC2, on entre bien sur : =SOMME(B2:AB2)
On sélectionne de B2 à AC2 et on étire vers le bas d'un nombre de lignes égal ou supérieur au nombre de valeurs différentes en colonne A de feuil1.

On colle la macro suivante en feuil2 :

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 12/03/2009 par
'
'
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("feuil2").Activate
Col = "a"
NumLig = 1
Lig = 1
With Sheets("feuil1")
.Cells(Lig, Col).EntireRow.Copy
ActiveSheet.Paste Destination:=Worksheets("feuil2").Range("A1")

NumLig = 2
Lig = 2
.Cells(Lig, Col).Copy
Sheets("feuil2").Paste Destination:=Cells(NumLig, Col)

NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 3 To NbrLig
If .Cells(Lig, Col).Value <> .Cells(Lig - 1, Col).Value Then
.Cells(Lig, Col).Copy
NumLig = NumLig + 1
Sheets("feuil2").Paste Destination:=Cells(NumLig, Col)
End If
Next
End With

End Sub

et on éxécute Macro2

Bien sur, si le nombre de valeurs en ligne 1 est supérieur à l'exemple, il faudra modifier, mais on peut prévoir +large dés le début.
0
youchlure
 
bonjour,

merci pour votre aide, je vais essayer cette solution en attendant la macro définitive

MErci encore et bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Sub Fusion()
Dim lig As Long, Col As Integer
Application.ScreenUpdating = False
lig = 2
With Sheets("Feuil1")
While .Cells(lig, 1) <> ""
While .Cells(lig, 1) = .Cells(lig + 1, 1)
For Col = 2 To 28
If .Cells(lig + 1, Col) <> "" Then
.Cells(lig, Col) = .Cells(lig, Col) + .Cells(lig + 1, Col)
Debug.Print .Cells(lig, Col)
End If
Next Col
.Rows(lig + 1).Delete
Wend
lig = lig + 1
Wend
End With
Application.ScreenUpdating = True
End Sub
Pour appliquer tu fais la même chose que la 1ère fois.
Met les largeurs colonnes à 4,3
Tu dis..
0
youchlure
 
ok, merci je teste tout de suite et je te dis le résultat
0
youchlure
 
c'est parfait merci mille fois pour ton travail
Bonne journée
0