Enlever cellule fusionner avec une boucle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dennnisss

XLDnaute Occasionnel
Bonjour a tous

J'ai commencer a coder une macro pour trier en ordre alpha la liste de joueurs
les cellule sont fusionner et dans ma macro j,essaie avec l,aide d'une boucle de les defusionner et de faire mon triage alpha
alors il me donne une erreur sur la defusion , pouvez-vous m'aider svp
je cherche a comprendre pourquoi il me donne comme reponse qu'il va garder juste la valeur gauche seulement


merci de votre aide
dennnisss😉😉
 

Pièces jointes

Re : Enlever cellule fusionner avec une boucle

Bonsoir,
cela devrait suffire :
Code:
Private Sub CommandButton1_Click()
'Enlever les cellules fusionnées
    Range("A5:K1486").UnMerge
'Trier en odre alpha
    Range("A5:K1486").Sort Key1:=Range("B5"), Order1:=xlAscending
    Range("A5").Select
End Sub
 
Re : Enlever cellule fusionner avec une boucle

Salut Dennnisss,

C'est normal que tu es ce message, car dans ton code, tu veux fusionner chaque ligne avant de les dé-fusionner !?

Essaye ça
Code:
Sub TrieLignes()
'Enlever les cellules fusionner et trier les lignes
  Dim DerLig As Long, Lig As Long
  With Sheets("Copier joueurs")
    ' Numéro de la dernière ligne remplie
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' Pour chaque ligne de séparation
    For Lig = 7 To DerLig + 1 Step 2
      .Rows(Lig).UnMerge
    Next Lig
    'Trier en odre alpha
    .Range("A6:K" & DerLig + 1).Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    .Range("A5").Select
  End With
End Sub
Ce que je ferais plutôt,
1) tu supprimes chaque ligne de séparation
2) tu tries les données
3) tu remets les lignes de séparation

Ce qui donne en VBA :
Code:
Sub TrieLignes()
'Enlever les cellules fusionner et trier les lignes
  Dim DerLig As Long, Lig As Long
  With Sheets("Copier joueurs")
    ' Numéro de la dernière ligne remplie
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' Pour chaque ligne de séparation
    For Lig = DerLig + 1 To 7 Step -2
      .Rows(Lig).Delete
    Next Lig
    'Trier en odre alpha
    .Range("A6:K" & DerLig + 1).Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    .Range("A5").Select
    '
    ' Récupérer le numéro de la dernière ligne remplie
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' Pour chaque ligne de séparation
    For Lig = DerLig To 7 Step -1
      ' Inscrire le numéro de position
      .Range("A" & Lig).Value = Lig - 6 + 1
      ' Insérer une ligne de séparation
      .Rows(Lig).Insert Shift:=xlDown
      ' lui attribuer la couleur de fond
      .Range("A" & Lig & ":K" & Lig).Interior.ColorIndex = 56
    Next Lig
    ' Inscrire le numéro de position
    .Range("A6").Value = 1
  End With
End Sub
A+
 
Re : Enlever cellule fusionner avec une boucle

Salut Bruno et Lii

Merci de votre aide , je suis en train de changer mon code et de faire essaie des votres
Alors merci a vous deux et je revient si besoin d'autre renseignement

bonne journee

dennnisss😉😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour