Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fusionner par macro, sous condition

16 réponses
Avatar
Emy
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou plusieurs
cellules identiques dans une même colonne, malgré tout le mal qu'il faut
penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy

10 réponses

1 2
Avatar
Philippe.R
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables mescol
et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le mal
qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy


Avatar
Emy
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici donc
un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans une
même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce une
erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le mal
qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy





Avatar
Philippe.R
Re,
Version testée sur ton classeur exemple :

Sub Merge_plus()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, j As Long, k As Integer, _
mesCol As Integer, t As Integer
mesCol = 9
mesLig = 78
k = 0
For t = 4 To mesCol
For i = 19 To mesLig
If Cells(i, t).Value <> "" And Cells(i, t).Value _
= Cells(i + 1, t).Value Then
For j = i + 1 To mesLig
If Cells(j, t).Value = Cells(i, t).Value Then
k = k + 1
Else
Exit For
End If
Next j
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + k, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
k = 0
Next i
Next t
Application.DisplayAlerts = True
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:%23Q0%
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
donc un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans une
même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce une
erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le mal
qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy








Avatar
Emy
Merci Philippe pour ta patience,

J'ai fait les essais mais rien n'y fait:

Soit je le mets dans le code de la feuille et c'est l'erreur 400, soit je le
mets dans un module et il m'écrit: "erreur d'éxécution 1004 - Impossible de
définir la propriété MergeCells de la classe Range". Je précise que je
travaille avec Excel 2007.

Que faut-il faire?

merci...

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re,
Version testée sur ton classeur exemple :

Sub Merge_plus()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, j As Long, k As Integer, _
mesCol As Integer, t As Integer
mesCol = 9
mesLig = 78
k = 0
For t = 4 To mesCol
For i = 19 To mesLig
If Cells(i, t).Value <> "" And Cells(i, t).Value _
= Cells(i + 1, t).Value Then
For j = i + 1 To mesLig
If Cells(j, t).Value = Cells(i, t).Value Then
k = k + 1
Else
Exit For
End If
Next j
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + k, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
k = 0
Next i
Next t
Application.DisplayAlerts = True
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:%23Q0%
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
donc un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans
une même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce une
erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le mal
qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy











Avatar
Philippe.R
Regarde ce que ça donne dans le classeur joint :
http://cjoint.com/?cCux5dcTah
Je ne dispose pas de 2007 et ne pourrai guère aller plus loin
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Merci Philippe pour ta patience,

J'ai fait les essais mais rien n'y fait:

Soit je le mets dans le code de la feuille et c'est l'erreur 400, soit je
le mets dans un module et il m'écrit: "erreur d'éxécution 1004 -
Impossible de définir la propriété MergeCells de la classe Range". Je
précise que je travaille avec Excel 2007.

Que faut-il faire?

merci...

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re,
Version testée sur ton classeur exemple :

Sub Merge_plus()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, j As Long, k As Integer, _
mesCol As Integer, t As Integer
mesCol = 9
mesLig = 78
k = 0
For t = 4 To mesCol
For i = 19 To mesLig
If Cells(i, t).Value <> "" And Cells(i, t).Value _
= Cells(i + 1, t).Value Then
For j = i + 1 To mesLig
If Cells(j, t).Value = Cells(i, t).Value Then
k = k + 1
Else
Exit For
End If
Next j
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + k, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
k = 0
Next i
Next t
Application.DisplayAlerts = True
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:%23Q0%
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
donc un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans
une même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce
une erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le
mal qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy














Avatar
Greg
Bonsoir Philippe et Emy,

J'ai fait l'essai chez moi (2007) et j'arrive à la même conclusion qu'Emy...
erreur 400!

SNIF!

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:%23LAz$
Regarde ce que ça donne dans le classeur joint :
http://cjoint.com/?cCux5dcTah
Je ne dispose pas de 2007 et ne pourrai guère aller plus loin
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Merci Philippe pour ta patience,

J'ai fait les essais mais rien n'y fait:

Soit je le mets dans le code de la feuille et c'est l'erreur 400, soit je
le mets dans un module et il m'écrit: "erreur d'éxécution 1004 -
Impossible de définir la propriété MergeCells de la classe Range". Je
précise que je travaille avec Excel 2007.

Que faut-il faire?

merci...

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re,
Version testée sur ton classeur exemple :

Sub Merge_plus()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, j As Long, k As Integer, _
mesCol As Integer, t As Integer
mesCol = 9
mesLig = 78
k = 0
For t = 4 To mesCol
For i = 19 To mesLig
If Cells(i, t).Value <> "" And Cells(i, t).Value _
= Cells(i + 1, t).Value Then
For j = i + 1 To mesLig
If Cells(j, t).Value = Cells(i, t).Value Then
k = k + 1
Else
Exit For
End If
Next j
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + k, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
k = 0
Next i
Next t
Application.DisplayAlerts = True
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:%23Q0%
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
donc un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans
une même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce
une erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le
mal qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy

















Avatar
Mishell
Les cellules faisant partie du champ de la liste ne semblent pas disponibles
à la fusion.

Mishell

"Emy" a écrit dans le message de news:

Merci Philippe pour ta patience,

J'ai fait les essais mais rien n'y fait:

Soit je le mets dans le code de la feuille et c'est l'erreur 400, soit je
le mets dans un module et il m'écrit: "erreur d'éxécution 1004 -
Impossible de définir la propriété MergeCells de la classe Range". Je
précise que je travaille avec Excel 2007.

Que faut-il faire?

merci...

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re,
Version testée sur ton classeur exemple :

Sub Merge_plus()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, j As Long, k As Integer, _
mesCol As Integer, t As Integer
mesCol = 9
mesLig = 78
k = 0
For t = 4 To mesCol
For i = 19 To mesLig
If Cells(i, t).Value <> "" And Cells(i, t).Value _
= Cells(i + 1, t).Value Then
For j = i + 1 To mesLig
If Cells(j, t).Value = Cells(i, t).Value Then
k = k + 1
Else
Exit For
End If
Next j
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + k, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
k = 0
Next i
Next t
Application.DisplayAlerts = True
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:%23Q0%
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
donc un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans
une même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce
une erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le
mal qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy














Avatar
Emy
Effectivement, il semble que nous soyons dans l'impasse avec nos petits
moyens............

Merci à tous

Emy


"Mishell" a écrit dans le message de
news:%
Les cellules faisant partie du champ de la liste ne semblent pas
disponibles à la fusion.

Mishell

"Emy" a écrit dans le message de news:

Merci Philippe pour ta patience,

J'ai fait les essais mais rien n'y fait:

Soit je le mets dans le code de la feuille et c'est l'erreur 400, soit je
le mets dans un module et il m'écrit: "erreur d'éxécution 1004 -
Impossible de définir la propriété MergeCells de la classe Range". Je
précise que je travaille avec Excel 2007.

Que faut-il faire?

merci...

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Re,
Version testée sur ton classeur exemple :

Sub Merge_plus()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, j As Long, k As Integer, _
mesCol As Integer, t As Integer
mesCol = 9
mesLig = 78
k = 0
For t = 4 To mesCol
For i = 19 To mesLig
If Cells(i, t).Value <> "" And Cells(i, t).Value _
= Cells(i + 1, t).Value Then
For j = i + 1 To mesLig
If Cells(j, t).Value = Cells(i, t).Value Then
k = k + 1
Else
Exit For
End If
Next j
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + k, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
k = 0
Next i
Next t
Application.DisplayAlerts = True
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:%23Q0%
Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
donc un fichier joint:

http://cjoint.com/?cCsgF1j6cd

L'idée serait que toutes les cellules identiques qui se succèdent dans
une même journée n'en forment plus qu'une.

J'ai appliqué la macro telle qu'elle était proposée mais il m'annonce
une erreur 400.

Pourriez-vous me donner un coup de pouce?

Emy


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Pour des données sur 2 colonnes et 10 lignes ; adapter les variables
mescol et meslig

Sub Merge_alors()
' MPFE le 28/02/2010
Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
mesCol = 2
mesLig = 10
For t = 1 To mesCol
For i = 1 To mesLig
If Cells(i, t).Value = Cells(i + 1, t).Value _
And Cells(i, t).Value <> "" Then
Application.DisplayAlerts = False
With Range(Cells(i, t), Cells(i + 1, t))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
End If
Next i
Next t
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Emy" a écrit dans le message de
news:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou
plusieurs cellules identiques dans une même colonne, malgré tout le
mal qu'il faut penser des fusions.....

ex:

A B

1 fruit fruit


2 fruit légume


3 légume légume


4 outil légume


deviendrait.....


A B

1 fruit
fruit
2

3 légume légume

4 outil



Est-ce possible?

Merci à vous!

Emy


















Avatar
LSteph
On 28 fév, 23:11, "Emy" wrote:
Effectivement, il semble que nous soyons dans l'impasse avec nos petits
moyens............

Merci à tous

Emy

"Mishell" a écrit dans le message denews:%23TboYcLu



> Les cellules faisant partie du champ de la liste ne semblent pas
> disponibles à la fusion.

> Mishell

> "Emy" a écrit dans le message de news:
>
>> Merci Philippe pour ta patience,

>> J'ai fait les essais mais rien n'y fait:

>> Soit je le mets dans le code de la feuille et c'est l'erreur 400, soit je
>> le mets dans un module et il m'écrit: "erreur d'éxécution 1004 -
>> Impossible de définir la propriété MergeCells de la classe Range ". Je
>> précise que je travaille avec Excel 2007.

>> Que faut-il faire?

>> merci...

>> "Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
>>news:
>>> Re,
>>> Version testée sur ton classeur exemple :

>>> Sub Merge_plus()
>>> ' MPFE le 28/02/2010
>>> Dim mesLig As Long, i As Long, j As Long, k As Integer, _
>>>    mesCol As Integer, t As Integer
>>> mesCol = 9
>>> mesLig = 78
>>> k = 0
>>> For t = 4 To mesCol
>>>    For i = 19 To mesLig
>>>       If Cells(i, t).Value <> "" And Cells(i, t).Value _
>>>        = Cells(i + 1, t).Value Then
>>>            For j = i + 1 To mesLig
>>>                If Cells(j, t).Value = Cells(i, t).V alue Then
>>>                    k = k + 1
>>>                Else
>>>                    Exit For
>>>                End If
>>>            Next j
>>>            Application.DisplayAlerts = False
>>>            With Range(Cells(i, t), Cells(i + k, t))
>>>                .HorizontalAlignment = xlCenter
>>>                .VerticalAlignment = xlCenter
>>>                .MergeCells = True
>>>            End With
>>>        End If
>>>        k = 0
>>>    Next i
>>> Next t
>>> Application.DisplayAlerts = True
>>> End Sub

>>> --
>>> Avec plaisir
>>>http://dj.joss.free.fr/trombine.htm
>>>http://jacxl.free.fr/mpfe/trombino.html
>>> Philippe.R
>>> Pour se connecter au forum :
>>>http://www.excelabo.net/web/mpfe
>>> News://news.microsoft.com/microsoft.public.fr.excel
>>> "Emy" a écrit dans le message de
>>>news:%23Q0%
>>>> Merci pour cette réponse mais j'avoue j'ai du mal à m'en sortir. Voici
>>>> donc un fichier joint:

>>>>http://cjoint.com/?cCsgF1j6cd

>>>> L'idée serait que toutes les cellules identiques qui se succèden t dans
>>>> une même journée n'en forment plus qu'une.

>>>> J'ai appliqué la macro telle qu'elle était proposée mais il m' annonce
>>>> une erreur 400.

>>>> Pourriez-vous me donner un coup de pouce?

>>>> Emy

>>>> "Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
>>>>news:
>>>>> Bonsoir,
>>>>> Pour des données sur 2 colonnes et 10 lignes ; adapter les variab les
>>>>> mescol et meslig

>>>>> Sub Merge_alors()
>>>>> ' MPFE le 28/02/2010
>>>>> Dim mesLig As Long, i As Long, mesCol As Integer, t As Integer
>>>>> mesCol = 2
>>>>> mesLig = 10
>>>>> For t = 1 To mesCol
>>>>>    For i = 1 To mesLig
>>>>>       If Cells(i, t).Value = Cells(i + 1, t).Value _
>>>>>            And Cells(i, t).Value <> "" Then
>>>>>            Application.DisplayAlerts = False
>>>>>            With Range(Cells(i, t), Cells(i + 1, t))
>>>>>                .HorizontalAlignment = xlCenter
>>>>>                .VerticalAlignment = xlCenter
>>>>>                .MergeCells = True
>>>>>            End With
>>>>>        End If
>>>>>    Next i
>>>>> Next t
>>>>> Application.DisplayAlerts = True
>>>>> End Sub
>>>>> --
>>>>> Avec plaisir
>>>>>http://dj.joss.free.fr/trombine.htm
>>>>>http://jacxl.free.fr/mpfe/trombino.html
>>>>> Philippe.R
>>>>> Pour se connecter au forum :
>>>>>http://www.excelabo.net/web/mpfe
>>>>> News://news.microsoft.com/microsoft.public.fr.excel
>>>>> "Emy" a écrit dans le message de
>>>>>news:
>>>>>> Bonjour,

>>>>>> Je souhaiterais créer une macro qui fusionne automatiquement 2 o u
>>>>>> plusieurs cellules identiques dans une même colonne, malgré to ut le
>>>>>> mal qu'il faut penser des fusions.....

>>>>>> ex:

>>>>>>        A                    B

>>>>>> 1    fruit                fruit

>>>>>> 2    fruit                légume

>>>>>> 3    légume           légume

>>>>>> 4    outil                légume

>>>>>> deviendrait.....

>>>>>>          A                           B

>>>>>> 1                                    fruit
>>>>>>         fruit
>>>>>> 2

>>>>>> 3    légume                    légume

>>>>>> 4       outil

>>>>>> Est-ce possible?

>>>>>> Merci à vous!

>>>>>> Emy- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
LSteph
Bonjour,

Il n'y a pas besoin de penser du mal des fusions, elles sont ce
qu'elles sont, elles sont utiles pour finaliser des présentations qui
répondent au goût ou à l'esthétique de ceux qui les apprécient.
Même si ca reste une belle cagade pour l'utilisation du tableur quand
on s'en sert pour gérer des données et faire des calculs, une erreur
type à ne pas commettre surtout pour intituler des titres de lignes
ou colonnes.
Si en plus on veut trier ou mettre des filtres ..ou de vouloir faire
un simple TCD....Ce serait cent fois mieux les fusions si elles ne
laissaient pas orphelines les lignes qu'elles font mine de concerner
alors que seul la première cellule contient l'information.
Sinon,lorsqu'il s'agit de détourner complètement l'utilisation du
tableur,fusions ou pas on s'en fout un peu que ce soit pour gèrer des
projets,ou complètement autre chose,
des jeux ou bien même pourquoi pas

un emploi du temps

cela fait quelques années déjà que j'avais commis un classeur ou un
module de classe permettait de choisir la couleur des boutons qui
permettaient de remplir l'emploi du temps de cette couleur et surtout
ou seul le texte de la seconde cellule était apparent.La difficulté de
devoir remplir un graphique calculant le temps par matière, écartait
de fusionner la plage puisque,le texte même servait à compter ces
tranches de 10 minutes En voici une des nombreuses versions
http://cjoint.com/?dbpJaESk6D
A noter que l'aperçu ne se révèlera aux couleurs et texte corrects
qu'avec une imprimante couleur§

Je ne sais plus si c'était pour Emma alias Greg ou autre Emy, mais je
suis toujours aussi surpris de voir comment à force de
requestionnements sous différents angles, très évolutifs que cela
puisse tantôt s'améliorer, tantôt se retrouver sous une forme
complètement dégénérée et/ou vidée de sa substance, tout cela p endant
autant de temps. Et sans se lasser continuer ainsi à être toujours
aussi imaginatif. Ca tient de l'exploit.

Cordialement.

--
LSteph





On 28 fév, 16:59, "Emy" wrote:
Bonjour,

Je souhaiterais créer une macro qui fusionne automatiquement 2 ou plusi eurs
cellules identiques dans une même colonne, malgré tout le mal qu'il f aut
penser des fusions.....

ex:

        A                    B

1    fruit                fruit

2    fruit                légume

3    légume           légume

4    outil                légume

deviendrait.....

          A                           B

1                                     fruit
         fruit
2

3    légume                    légume

4       outil

Est-ce possible?

Merci à vous!

Emy


1 2