Annuler fusion et remplissage des cellules

Fermé
salandership - 6 avril 2011 à 00:40
 Gus - 12 août 2014 à 11:20
Bonjour,
voilà j'ai un tableau excel destiné à l'impression, il y'a dedans beaucoup de cellules fusionnées.

je veux exploiter ce tableau dans une base de données, je voudrais annuler la fusion des cellule et les remplir avec la valeur qui figure dans la cellule fusionnée, donc avoir la même valeur qui se répéte dans plusieurs cellules au lieu d'une seule cellule fusionnée.

j'espère que c'est assez claire
merci







3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
6 avril 2011 à 20:01
Bonsoir,

Avec une petite macro vba c'est faisable :
Sub défusionner()
    ' supprime toutes les fusions de cellules
    ' toutes les cellules d'une fusion reçoivent la valeur ou la formule d'origine
    Dim c1 As Range, c2 As Range, plage As Range, valeur As Variant
    Application.ScreenUpdating = False
    For Each c1 In ActiveSheet.UsedRange
        If c1.MergeCells Then
            valeur = c1.Formula
            Set plage = c1.MergeArea
            plage.UnMerge
            For Each c2 In plage
                c2.Formula = valeur
            Next c2
        End If
    Next c1
    Application.ScreenUpdating = True
End Sub

La macro traite la feuille active.
Fichier exemple : http://www.cijoint.fr/cjlink.php?file=cj201104/cij0buJaLN.xls

eric
11
impeccable
je vais être un peu capricieux et vous demander une macro qui fait lamême chose mais cette fois pour remplir les cellule vide avec la valeur de la cellule première qui les précéde, c'est comme si la macro que vous avez réalisé ne "défufionne" pas.
Merci pour votre aide précieuse
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 avril 2011 à 21:05
Bonsoir,

il suffit de remplacer :
valeur = c1.Formula
par :
valeur = c1.Formula.offset(0,-1)
Mais il faut que cette cellule existe, donc que les cellules fusionnées ne démarre qu'en colonne B.

c'est comme si la macro que vous avez réalisé ne "défufionne" pas.
Là je n'ai pas compris...
eric
0