Annuler fusion et remplissage des cellules
salandership
-
Gus -
Gus -
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
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
A voir également:
- Excel défusionner cellules en gardant texte
- Fusionner deux cellules excel en gardant le contenu - Guide
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Excel additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
3 réponses
Bonsoir,
Avec une petite macro vba c'est faisable :
La macro traite la feuille active.
Fichier exemple : http://www.cijoint.fr/cjlink.php?file=cj201104/cij0buJaLN.xls
eric
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
Très claire.
Tu n'as plus qu'à prendre ton courage à 2 mains et te mettre au travail !
Si tu savais que tu allais devoir gérer une base de données, il ne fallait évidemment pas fusionner de cellules.
Si c'est quelqu'un d'autre qui t'a refilé le bébé, préviens-le qu'il lui faudra de la patience, avant que tu ne remettes tout ça comme il faut, une cellule après l'autre ...
Tu n'as plus qu'à prendre ton courage à 2 mains et te mettre au travail !
Si tu savais que tu allais devoir gérer une base de données, il ne fallait évidemment pas fusionner de cellules.
Si c'est quelqu'un d'autre qui t'a refilé le bébé, préviens-le qu'il lui faudra de la patience, avant que tu ne remettes tout ça comme il faut, une cellule après l'autre ...
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
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
il arrive que j'ai un fichier excel dans lequel les cellule ayant la même valeur ne soit pas fusionnées.
par exemple:
j'ai des société différentes avec pour chacune plusieurs contacts
au lieu de répéter la société pour cahque contact il esr saisie pour le premier contact pour les autres qui suivent la cellule société est vide, et ainsi de suite jusqu'a la sté suivante...
merci
http://www.cijoint.fr/cjlink.php?file=cj201104/cijVwXy79O.xls
Sub recopie() Dim c As Range, v As Variant For Each c In Selection If c.Value = "" Then c = v Else v = c Next c End SubDans ton exemple tu sélectionne A2:A11 et tu lances la macro.
eric