Macro défusionner URGENNT !!!!!!!!!!
Résolu/Fermé
james405
Messages postés
154
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
10 juin 2014
-
29 avril 2010 à 11:01
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014 - 30 avril 2010 à 10:24
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014 - 30 avril 2010 à 10:24
A voir également:
- Macro défusionner URGENNT !!!!!!!!!!
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Défusionner des calques photoshop ✓ - Forum The Gimp
6 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 411
29 avril 2010 à 11:36
29 avril 2010 à 11:36
Bonjour
le plus simple, si pour l'exemple vos colonnes fusionnées sont A et B, semble après dégroupage de copier avec la macro la colonne A sur la colonne C? non?
Crdlmnt
Crdlmnt
le plus simple, si pour l'exemple vos colonnes fusionnées sont A et B, semble après dégroupage de copier avec la macro la colonne A sur la colonne C? non?
Crdlmnt
Crdlmnt
james405
Messages postés
154
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
10 juin 2014
29 avril 2010 à 11:49
29 avril 2010 à 11:49
Ce ne sont que certaines cellules qui sont fusionnées, ni les ligne ni des colonnes !! Autres solutions?
eriiic
Messages postés
24597
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2024
7 235
29 avril 2010 à 13:54
29 avril 2010 à 13:54
Bonjour,
ça pourrait être :
J'ai fait pour des valeurs, si ce sont des formules que tu veux conserver modifie la macro en conséquence.
eric
ça pourrait être :
Dim c As Range, plage As Range If [B3].MergeCells Then Set plage = [B3].MergeArea [B3].UnMerge For Each c In plage c.Value = [B3] Next c End If
J'ai fait pour des valeurs, si ce sont des formules que tu veux conserver modifie la macro en conséquence.
eric
james405
Messages postés
154
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
10 juin 2014
29 avril 2010 à 14:02
29 avril 2010 à 14:02
Bonjour Eric et merci pour la réponse,
le problème est que cette macro n'est pas applicable à une plage ? (du moins je n'ai pas réussi à la modifier pour), je pense que la solution serait de demander a la macro de selectionner dans un premier temps les cellules fusionner de la plage, puis de lui dire de copier le contenue de la cellule d'a coté dans la cellule ou l'on perd le texte (je ne sais pas d'avance quelle cellule seront fusionnées ...)
Le problème est que je ne suis pas très fort en macro, et je ne sais pas comment l'écrire, donc si tu as une idée ..
En tout cas merci pour ton aide !!
le problème est que cette macro n'est pas applicable à une plage ? (du moins je n'ai pas réussi à la modifier pour), je pense que la solution serait de demander a la macro de selectionner dans un premier temps les cellules fusionner de la plage, puis de lui dire de copier le contenue de la cellule d'a coté dans la cellule ou l'on perd le texte (je ne sais pas d'avance quelle cellule seront fusionnées ...)
Le problème est que je ne suis pas très fort en macro, et je ne sais pas comment l'écrire, donc si tu as une idée ..
En tout cas merci pour ton aide !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24597
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2024
7 235
29 avril 2010 à 17:22
29 avril 2010 à 17:22
Je pensais que tu connaissais vba c'est pour ça que je n'ai mis que la partie demandée...
Pour traiter une plage sélectionnée :
Si la plage est fixe remplace
Set plage1 = Selection
par
Set plage1 = range("B2:F12")
eric
Pour traiter une plage sélectionnée :
Sub défusionne() Dim c1 As Range, c2 As Range, plage1 As Range, plage2 As Range Application.ScreenUpdating = False Set plage1 = Selection For Each c1 In plage1 If c1.MergeCells Then Set plage2 = c1.MergeArea c1.UnMerge For Each c2 In plage2 c2.Value = c1 Next c2 End If Next c1 Application.ScreenUpdating = True End Sub
Si la plage est fixe remplace
Set plage1 = Selection
par
Set plage1 = range("B2:F12")
eric
james405
Messages postés
154
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
10 juin 2014
30 avril 2010 à 10:24
30 avril 2010 à 10:24
OK ca marche merci d'avoir répondu, tu me sors une grosse aiguille du pied!!!!!!!!!!