Fussionner deux cellulles si identique

bonjour,

j'ai un document excel composé de 24 colonnes et 35 lignes.
je souhaiterai faire une fusion si deux cellules qui se retrouvent sur deux ou plus (max 7) lignes successives contiennent le même contenu.

4 réponses

  1. Bonjour,
    Essayez ceci

    Sub Fusion()
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        For c = 2 To 24 Step 2
            For l = 35 To 5 Step -1
                If Cells(l, c) <> "" And Cells(l - 1, c) <> "" Then
                    If Cells(l, c) = Cells(l - 1, c) Then
                        With Range(Cells(l, c), Cells(l - 1, c))
                            .HorizontalAlignment = xlCenter
                            .VerticalAlignment = xlCenter
                            .MergeCells = True
                        End With
                    End If
                End If
            Next l
        Next c
    End Sub
    


    Cdlt
    1
    1. cela fonctionne pas erreur 13 pour la ligue If Cells(l, c) <> "" And Cells(l - 1, c) <> "" Then
      0
    2. @terniamBonjour,
      Curieux, ça fonctionne parfaitement bien chez moi.
      vérifiez-le avec l'exemple ci-joint.
      https://www.cjoint.com/c/HIvaVNndHkw
      Si cela ne marche toujours pas chez vous, déposez le fichier ici(pas une image).
      Cdlt
      0
    3. je ne peux pas diffuser le document il y a des données confidentielles dessus
      0
    4. Contributeur
      Tu les remplaces par Dupont ou par xxx !
      0
    5. je te l'ai envoyé se que je veux c'est que quand je modifie le document en page publipostage que ce soit le nom du cadre ou la période qui est par défaut du vendredi au vendredi cela me modifie automatiquement le calendrier et du coup la fusion comme tu peux voir c'est des formules recherches qui font le rapport entre mes deux feuilles.

      exemple M B était prévu du vendredi 31 aôut au 7 septembre puis MMe A du 7 septembre au 14 septembre en réalité M B a fait du 31 aôut au mercredi 5 puis c'est MMe A du 5 au 14. je voudrais que du coup la fusion ne concerne pas les mêmes lignes que la situation initiale que cela modifie le calendrier automatiquement....
      0
  2. Bonjour,

    tu selectionnes ton tableau==>données==>Outils de données==>supprimer les doublons (attention a la sélection)

    Crdlmt
    0
    1. Contributeur
      terniam, ce n'est pas forcément une bonne idée, surtout si tu dois effecteur des calculs, des tris, des filtres et des recherches dans ton fichier !
      0
      1. Bonjour,
        Avec une petite macro, les données étant dans le tableau de A2 à X36, la ligne 1 est réservée pour les titres de colonnes. La fusion se fait par colonnes.
        Sub Fusion() à
            Application.ScreenUpdating = False
            Application.DisplayAlerts = False
            For c = 1 To 24
                For l = 36 To 2 Step -1
                    If Cells(l, c) <> "" And Cells(l - 1, c) <> "" Then
                        If Cells(l, c) = Cells(l - 1, c) Then Range(Cells(l, c), Cells(l - 1, c)).Merge
                    End If
                Next l
            Next c
        End Sub
        

        Cdlt
        0


        1. voici une photo du document en question
          0
        2. Contributeur
          Il est très bien comme ça : n'y touche pas !
          0
        3. ta solution fonctionne pour la première colonne uniquement

          mon calendrier commence en A4 et fini en x 35. C'est quelque chose de déjà automatisé. en faite j'ai un premier document que je remplis manuellement qui me donne grâce à des formules ce calendrier et un document de publipostage et un calcul du nombre de jours travaillé. Ce calendrier a uniquement pour objet de présentation mais je ne souhaite pas le recommencé à chaque changement d'ou ma demande d'une fusions automatisée. et je voudrais bien comprendre je connais bien excel sauf les macros et je voudrais vraiment comment cela fonctionne
          0