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 cellules contigües ayant même valeur (doublon) [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Invité
    Invité(e)
    Par défaut Fusion cellules contigües ayant même valeur (doublon)
    Bonjour,

    Je voudrai fusionner des cellules contigües d'une même ligne et d'une même colonne (ligne 7 et colonne A).

    Les cellules comprises dans la plage entre la ligne 7 et la colonne A se seront pas concernées par le code.

    1- pour la ligne 7: de A7 à A&DernièreColonne non vide, fusionner les cellules contigües ayant la même valeur.

    2- pour la colonne A: de A7 à A&DernièreLigne ligne non vide, fusionner les cellules contigües ayant la même valeur.

    J'ai bien trouvé des codes, mais ils fusionnent toute la plage. Je ne cherche à fusionner que pour la ligne 7 et la colonne A qui débute en ligne 7.

    Je vous remercie beaucoup.

    Bonne journée.

    Cordialement,
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Tiens:
    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
    Sub merging()
        Dim i As Long
     
        With Feuil1 'lenomdetafeuille
     
            For i = .Range("A" & .Rows.Count).End(xlUp).Row To 7 Step -1
                If .Cells(i, 1) = .Cells(i - 1, 1) Then
                    .Cells(i - 1, 1) = ""
                    .Range(Cells(i, 1), Cells(i - 1, 1)).Merge
                End If
            Next i
     
            For i = .Cells(7, .Columns.Count).End(xlToLeft).Row To 2 Step -1
                If .Cells(7, i) = .Cells(7, i - 1) Then
                    .Cells(7, i - 1) = ""
                    .Range(Cells(7, i), Cells(7, i - 1)).Merge
                End If
            Next i
     
        End With
     
    End Sub

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour EngueEngue,

    Je te remercie beaucoup d'avoir répondu à ma discussion.

    Pour la fusion des cellules de la colonne A, le code s’exécute parfaitement.

    Par contre pour la ligne 7, les cellules sont fusionnées jusqu'à la colonne G;

    H7:I7, J7:K7 et P7:R7 ne sont pas fusionnées.

    Je te remercie beaucoup pour ton aide.

    Cordialement,

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    En effet, je suis allé trop vite

    Remplace dans la deuxième boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i = .Cells(7, .Columns.Count).End(xlToLeft).row To 2 Step -1
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i = .Cells(7, .Columns.Count).End(xlToLeft).column To 2 Step -1

  5. #5
    Invité
    Invité(e)
    Par défaut
    Re,

    Je pense que j'ai trouvé l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For i = .Cells(7, .Columns.Count).End(xlToLeft).Row To 2 Step -1
    il fallait mettre Column au lieu de Row
    Comme ceci le code s'éxecute bien, sauf pour P7:R7 dont la casse est différente.
    Je voudrais que quelque soit la casse (minuscule ou majuscule), la fusion se fasse.

    Merci beaucoup.

    Cordialement,

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    En effet. Bien joué.

    Dans la première boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If UCASE(.Cells(i, 1)) = UCASE(.Cells(i - 1, 1)) Then
    Dans la deuxième:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If UCASE(.Cells(7, i)) = UCASE(.Cells(7, i - 1)) Then

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re,

    Mon problème est résolu. Je vous remercie beaucoup.

    Voici le code qui fonctionne bien
    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
    Sub merging()
        Dim i As Long
     Dim nbcol As Long
     
        With Feuil1 'lenomdetafeuille
     
            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 = .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
     
    End Sub
    Cordialement,

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

Discussions similaires

  1. [Toutes versions] fusionner des cellules excel ayant la même valeur Java
    Par Marocaine2012 dans le forum Excel
    Réponses: 9
    Dernier message: 26/06/2015, 14h37
  2. Compter cellules avec les mêmes valeurs et les cumulers aux final
    Par navta12 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/07/2013, 03h04
  3. [XL-2010] Extraction d'une liste de cellules d'un tableau ayant la même valeur définie
    Par jerodino dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/04/2013, 13h51
  4. Réponses: 6
    Dernier message: 23/05/2012, 16h54
  5. Réponses: 1
    Dernier message: 24/08/2011, 18h33

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