IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fusion de cellules [XL-2007]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Fusion de cellules
    Bonjour,

    Bloqué je fais appel à vos compétences. J'avais trouvé un code sur le net que j'ai adapté à mes besoins, mais pour mon usage il est incomplet.

    Voilà par macro, je récupère des données à partir d'une BD, sur 3 feuilles dont les nombres de colonne et de ligne sont variables.

    Pour les éditer en pdf, je dois améliorer la présentation. Pour cela, je fusionne les cellules ayant la même valeur pour les colonnes A, B et C ainsi que les cellules de la ligne 7.

    Je bloque pour fusionner les cellules suivantes:
    1 - cells(7, dernièreColonne) et cells(8, dernièreColonne)
    2 - cells(7, dernièreColonne - 1) et cells(8, dernièreColonne - 1).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub merging_Feuil_A_B_C()
     Dim i As Long, n As Long
     Dim Tp
     Application.ScreenUpdating = False
     Application.DisplayAlerts = False
     
     Tp = Array("A", "B", "C")
     For n = LBound(Tp) To UBound(Tp)
     
         With Sheets(Tp(n)) 'lenomdelafeuille
     
            For i = .Range("A" & .Rows.Count).End(xlUp).Row To 7 Step -1
                If UCase(.Cells(i, 1)) = UCase(.Cells(i - 1, 1)) Then
                    .Cells(i - 1, 1) = ""
                    .Range(.Cells(i, 1), .Cells(i - 1, 1)).merge
                End If
            Next i
     
            For i = .Range("B" & .Rows.Count).End(xlUp).Row To 7 Step -1
                If UCase(.Cells(i, 2)) = UCase(.Cells(i - 1, 2)) Then
                    .Cells(i - 1, 2) = ""
                    .Range(.Cells(i, 2), .Cells(i - 1, 2)).merge
                End If
            Next i
     
            For i = .Range("C" & .Rows.Count).End(xlUp).Row To 7 Step -1
                If UCase(.Cells(i, 3)) = UCase(.Cells(i - 1, 3)) Then
                    .Cells(i - 1, 3) = ""
                    .Range(.Cells(i, 3), .Cells(i - 1, 3)).merge
                End If
            Next i
     
            For i = .Cells(7, .Columns.Count).End(xlToLeft).Column To 2 Step -1
                If UCase(.Cells(7, i)) = UCase(.Cells(7, i - 1)) Then
                    .Cells(7, i - 1) = ""
                    .Range(.Cells(7, i), .Cells(7, i - 1)).merge
                End If
            Next i
        End With
         Next n
    End Sub
    Je vous remercie beaucoup.

    Cordialement,
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET2003][Framework 2.0] Fusion de cellule
    Par b_lob dans le forum Windows Forms
    Réponses: 8
    Dernier message: 06/04/2006, 11h06
  2. [Swing][JTable]Fusion des cellules d'un tableau
    Par LordBlaize dans le forum Composants
    Réponses: 1
    Dernier message: 23/03/2006, 18h48
  3. [JTable]Fusion de cellules
    Par vincent63 dans le forum Composants
    Réponses: 6
    Dernier message: 13/02/2006, 14h28
  4. [VB6] Problème MsFlexgrid et Fusion des cellules
    Par dubidon dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/02/2006, 09h00
  5. [VBA-E] Fusion de cellule
    Par Nicos77 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2004, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo