fusionner par macro, sous condition

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #21287491
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" 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


Emy
Le #21287631
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" 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" 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





Philippe.R
Le #21288051
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" 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" 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" 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








Emy
Le #21288671
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" 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" 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" 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" 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











Philippe.R
Le #21289041
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" 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" 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" 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" 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" 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














Greg
Le #21289131
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" 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" 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" 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" 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" 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" 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

















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

Mishell

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














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

Merci à tous

Emy


"Mishell" news:%
Les cellules faisant partie du champ de la liste ne semblent pas
disponibles à la fusion.

Mishell

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


















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

Merci à tous

Emy

"Mishell"


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

> Mishell

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


LSteph
Le #21293391
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"
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


Publicité
Poster une réponse
Anonyme