Fusionner des mêmes cellules en ligne

Résolu/Fermé
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 - Modifié par pijaku le 26/01/2017 à 10:22
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 27 janv. 2017 à 14:02
Bonjour à tous,

Je voudrais fusionner plusieurs cellules sur une même ligne (les cellules à fusionner se suivent).
J'ai trouvé une marco (qui fonctionne :))

Sub fusion()
Dim co As Long
Dim nbco As Long
Dim plage As Range
Set plage = sheets"(Planning").Range("C22:FQ22")
Application.DisplayAlerts = False
With plage
  nbco = .Columns.Count
  For co = nbco To 2 Step -1
    If .Cells(1, co) = .Cells(1, co - 1) Then
      Range(.Cells(1, co), .Cells(1, co - 1)).MergeCells = True
    End If
  Next co
End With
Application.DisplayAlerts = True
End Sub


Mais elle ne fonctionne que sur une ligne j'ai essayer de changé

Set plage = sheets"(NomDeTaFeuille").Range("C22:FQ23")


Mais toujours rien...

Que faut-il que je change d'autre pour que cela fonctionne sur les ligne du dessous.
Sachant que la fusion doit se faire uniquement en ligne jamais en colonne.

Cdlt,

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
26 janv. 2017 à 10:23
Bonjour,

Quel est l'intérêt de fusionner des cellules?
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6
26 janv. 2017 à 10:44
Bonjour,

Je veux fusionner des cellules pour faire un planning avez-vous une autre idée pour ne pas avoir une répétition de la même référence ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024
26 janv. 2017 à 10:54
avez-vous une autre idée pour ne pas avoir une répétition de la même référence ?
Sans avoir un exemple concret, difficile de réponde.
Supprimer les doublons?
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
26 janv. 2017 à 12:42
Ci-joint mon fichier.

Je voudrais que mon résultat final soit celui en bleu, pour ce faire une ne voie pas comment faire sans passée par un fusion de mes cellules ?

https://www.cjoint.com/c/GAAlPoq7bFt
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
Modifié par pijaku le 26/01/2017 à 13:08
Tu n'as pas mis de feuille "Planning", donc dur dur.
Essaye juste ceci :
Sub fusion()
Dim Lig As Long
Dim co As Long
Dim nbco As Long
Dim plage As Range
Set plage = sheets"(Planning").Range("C22:FQ52") 'A ADAPTER !!!
Application.DisplayAlerts = False
With plage
  nbco = .Columns.Count
  For Lig = .Cells(1, 1).Row To .Cells(1, 1).Row + .Rows.Count - 1
    For co = nbco To 2 Step -1
      If .Cells(Lig, co) = .Cells(Lig, co - 1) Then
        .Range(.Cells(Lig, co), .Cells(Lig, co - 1)).Interior.ColorIndex = 3
      End If
    Next co
  Next Lig
End With
Application.DisplayAlerts = True
End Sub 


Essaye d'abord sur une copie de ton fichier, bien sur...
Adapte la plage, et regarde le résultat, sans Merge...
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6
26 janv. 2017 à 16:29
En adaptant les plages cela ne donne pas ce que mon chef espère était donné que cela me fait une ligne rouge qui va de K19 à VM19

En revanche celle que j’ai mise en premier oui donc je reste sur celle que j’ai trouvée dans le forum par contre le système de couleur n’est pas mal…

Il faut de je mette dans la ligne

Interior. Color Index = 3



PS : Y a-t-il y moyen de le mettre à la suite comme ce qu’il avait fait en bleu ? quand la première fusion et fini je passe à la ligne du dessous ?

Je m’explique si ma première fusion commence en F7 et se termine en K7, je voudrais que la deuxième fusion parte de L8 jusqu'en T8 et ainsi de suite.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024
26 janv. 2017 à 16:49
Et si, par hasard, je pouvais voir à quoi ressemble une feuille planning...
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
27 janv. 2017 à 08:55
Bonjour,

Ci-joint mon fichier...

https://www.cjoint.com/c/GABh2qlf5It
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024
27 janv. 2017 à 09:32
Bonjour,
On ne se comprends pas.
J'ai bien vu quel résultat tu souhaites obtenir, mais je ne connais pas l'état de tes données avant ce traitement. Tes données de la feuille planning, avant ce traitement de Merge sont sur une seule ligne? Plusieurs lignes? etc...
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
27 janv. 2017 à 09:49
Voilà j'ai mis mon fichier comme il sera pour le début

https://www.cjoint.com/c/GABiWMMUrLt
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
Modifié par pijaku le 27/01/2017 à 10:40
Voilà, tout simplement :
Sub fusion3()
Dim Wsh As Worksheet
Dim Lig As Long
Dim PremCol As Long
Dim co As Long
Dim nbco As Long

'A ADAPTER----------------------------------------------
    Lig = 7   'A ADAPTER, ligne ou sont les données
    PremCol = 6  'A ADAPTER, première colonne
    Set Wsh = Worksheets("Planning") ' A ADAPTER Feuille concernée

'TRAITEMENT----------------------------------------------
    Application.ScreenUpdating = False
    nbco = Rows(Lig).Find("*", , , , xlByRows, xlPrevious).Column
    With Wsh
      For co = PremCol To nbco - 1
        If .Cells(7, co) = .Cells(7, co + 1) Then
          .Range(.Cells(Lig, co), .Cells(Lig, co + 1)).Interior.ColorIndex = 3
'.Range(.Cells(Lig, co), .Cells(Lig, co + 1)).Interior.ThemeColor = xlThemeColorAccent1
'.Range(.Cells(Lig, co), .Cells(Lig, co + 1)).Interior.ThemeColor = xlThemeColorAccent5
        Else
            Lig = Lig + 1
            .Cells(Lig, co + 1).Value = .Cells(7, co + 1).Value
        End If
      Next co
    End With
    Application.ScreenUpdating = True
End Sub


J'ai viré tes DisplayAlert inutiles, et mis en commentaires deux lignes. Si ton chef tient au bleu essaye les l'une après l'autre...
Ta plage initiale doit être en ligne 7, à partir de la colonne F dans la feuille Planning. Dans le cas contraire, il faudra adapter ce que j'ai indiqué.
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6
27 janv. 2017 à 12:25
Super, par contre il y a toujours ma ligne 7 qui reste copier, n’y a-t-il pas un moyen quand j’actionne ma macro de supprimer ce qui n’est pas en couleur ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024
27 janv. 2017 à 12:37
As-tu, au moins, compris le mécanisme du code donné précédemment?

Voici :
Sub fusion4()
Dim Wsh As Worksheet
Dim Lig As Long
Dim PremCol As Long
Dim co As Long
Dim nbco As Long
Dim LigFin As Long

'A ADAPTER----------------------------------------------
    Lig = 7   'A ADAPTER, ligne ou sont les données
    LigFin = Lig
    PremCol = 6  'A ADAPTER, première colonne
    Set Wsh = Worksheets("Planning") ' A ADAPTER Feuille concernée

'TRAITEMENT----------------------------------------------
    Application.ScreenUpdating = False
    nbco = Rows(Lig).Find("*", , , , xlByRows, xlPrevious).Column
    With Wsh
      For co = PremCol To nbco - 1
        If .Cells(7, co) = .Cells(7, co + 1) Then
          .Range(.Cells(Lig, co), .Cells(Lig, co + 1)).Interior.ColorIndex = 3
'.Range(.Cells(Lig, co), .Cells(Lig, co + 1)).Interior.ThemeColor = xlThemeColorAccent1
'.Range(.Cells(Lig, co), .Cells(Lig, co + 1)).Interior.ThemeColor = xlThemeColorAccent5
        Else
            Lig = Lig + 1
            .Cells(Lig, co + 1).Value = .Cells(7, co + 1).Value
        End If
      Next co
      .Range(.Cells(LigFin, PremCol + 1), .Cells(LigFin, nbco)).ClearContents
    End With
    Application.ScreenUpdating = True
End Sub
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
27 janv. 2017 à 12:43
Pas vraiment car je ne suis pas du tout du "milieu" mais je dois dire que j'aimerais beaucoup apprendre car cela me serait très utile car je galère pas mal.

Existe-t-il des formations ou autres?
Le forum est un outil précieux mais quand on ne sait pas interprété les données par facile d'apprendre le langage....

En tout cas merci d'être là et de n'aider dans les requêtes.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024
27 janv. 2017 à 12:51
Sujet résolu?
0
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 6 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
27 janv. 2017 à 13:42
Oui sujet résolu.

Mais comment peut-on apprendre à "écrire le langage macro"?
0