[VB] Defusionner des cellules
Résolu
Thibaut63
Messages postés
143
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un fichier .xls dont de nombreuses lignes et de nombreuses colonnes sont fusionner.
J'aimerai défusionner toute les cellules de mon fichier afin de pouvoir charger mon fichier en mémoire dans un tableau a deux dimensions et traiter facilement mes données.
Voilà ce que j'ai essayé :
Pas d'erreur mais mon fichier excel n'est pas modifié ...
Merci d'avance.
Cordialement
Thibaut63
J'ai un fichier .xls dont de nombreuses lignes et de nombreuses colonnes sont fusionner.
J'aimerai défusionner toute les cellules de mon fichier afin de pouvoir charger mon fichier en mémoire dans un tableau a deux dimensions et traiter facilement mes données.
Voilà ce que j'ai essayé :
Sub defusionne(adresse As String) Dim fichier, xlApp, xlBook, xlWks As Variant Dim xlRange As Range ' Création de l'objet Excel (une classe) Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(adresse) ' Positionnement à l'intérieur du classeur Set xlWks = xlBook.Worksheets(1) Set xlRange = xlWks.Range("A1:A65535") Application.ScreenUpdating = False Application.DisplayAlerts = False With xlWks Dercol = .Range("IH3").End(xlToLeft).Column 'définit la dernière colonne du fichier derlig = .Range("B65000").End(xlUp).Row ''définit la dernière ligne du fichier Selection = .Range(.Cells(1, 1), .Cells(derlig, Dercol)) End With Selection .MergeCells = False Application.ScreenUpdating = True Application.DisplayAlerts = True ActiveWorkbook.Save xlBook.Close Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing End Sub
Pas d'erreur mais mon fichier excel n'est pas modifié ...
Merci d'avance.
Cordialement
Thibaut63
A voir également:
- Défusionner cellule excel et garder contenu
- Word et excel gratuit - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
2 réponses
Avec ce code toutes les cellules de la feuille en cours sont défusionnées .
Sub Defusionner() Cells.Select With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With End Sub
Bonne journée !
La solution de ratikuss est exacte, mais il y a bien plus simple :
Et c'est aussi plus sûr, dans le sens où ça laisse inchangées
les autres options de formatage de cellules. Cordialement.