défusionner et garder la valeur dans toutes les cellules

baud95

XLDnaute Nouveau
Bonjour à vous tous et bonne année,


Petite question de débutant :

Est il possible de défusionner une zone de cellule avec une valeur et d'affecter la valeur de la zone fusionnée dans toutes les cellules défusionnées?

je sais pas si je suis très clair mais bon je tente

merci d'avance
bonne nuit

David
 

baud95

XLDnaute Nouveau
Re : défusionner et garder la valeur dans toutes les cellules

merci pour ta réponse aussi rapide.

Le problème c'est que les plages sont variables et à des endroits diffèrents.

L'objectif étant de faire une selection de tout le tableau, de défusionner et de lui dire que les cases qu'il vient de défusionner sont égales.

Je sais pas si je suis tres clair

merci encore pour votre aide
 

Pièces jointes

  • Classeur1.xls
    23.5 KB · Affichages: 239
  • Classeur1.xls
    23.5 KB · Affichages: 243
  • Classeur1.xls
    23.5 KB · Affichages: 254

Cousinhub

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Bonjour,

essaie avec ce code :

Code:
Sub defusionner()
Dim Cel As Range
Dim I As Byte
For Each Cel In ActiveSheet.UsedRange
    If Cel.MergeCells Then
        I = Cel.MergeArea.Cells.Count
        Cel.UnMerge
        Cel.Resize(1, I).Value = Cel.Value
    End If
Next Cel
End Sub


fichier joint

bonne journée
 

Pièces jointes

  • baud95_v1.zip
    9.9 KB · Affichages: 411

ROGER2327

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Bonjour baud95, soenda
Essayez ceci :
Code:
[B][COLOR="DarkSlateGray"]Sub toto()
Dim oCel As Range
   For Each oCel In [A1].CurrentRegion.Cells
      If oCel.MergeArea.Count > 1 Then
         With oCel.MergeArea.Cells
            oCel.UnMerge
            .Value = oCel.Value
         End With
      End If
   Next oCel
End Sub[/COLOR][/B]
ROGER2327
#2517


_
__________________
Bonjour bhbh
 
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Bonjour, salut soenda, bhbh et Roger,

Il y a moyen de le faire par une petite manipulation.

Sélectionner la cellule, défusionner, cliquer dans la barre de formule et valider par Ctrl+Entrée.
 

baud95

XLDnaute Nouveau
Re : défusionner et garder la valeur dans toutes les cellules

bonsoir,

votre réponse est vraiment nickel cependant je souhaiterai que cela ne s'applique que sur les lignes 10 à 200 et uniquement sur les lignes portant un n° pair.
J'ai essayé en modifiant la macro mais vu mon niveau en VBA je vois que ce n'est pas ça

sub defusionner()
Dim Cel As Range("C2:AG14").Select
Dim I As Byte
For Each Cel In ActiveSheet.UsedRange
If Cel.MergeCells Then
I = Cel.MergeArea.Cells.Count
Cel.UnMerge
Cel.Resize(1, I).Value = Cel.Value
End If

Est ce que quelqu'un pourrait m'aider à debloquer ce code

merci par avance
 

Cousinhub

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Bonjour,

essaie avec ces modifs :

Code:
Sub defusionner()
Dim Cel As Range
Dim I As Byte
For Each Cel In Range("A10:AG200") ' A adapter
    If Cel.MergeCells And Cel.Row Mod 2 = 0 Then
        I = Cel.MergeArea.Cells.Count
        Cel.UnMerge
        Cel.Resize(1, I).Value = Cel.Value
    End If
Next Cel
End Sub

Bonne journée
 

job75

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Bonsoir baud95, le fil,

Code:
Sub defusionner()
Dim lig As Byte, Cel As Range, I As Byte
For lig = 10 To 200 Step 2
  For Each Cel In Intersect(Rows(lig), ActiveSheet.UsedRange)
    If Cel.MergeCells Then
      I = Cel.MergeArea.Cells.Count
      Cel.UnMerge
      Cel.Resize(1, I).Value = Cel.Value
    End If
  Next Cel
Next lig
End Sub

NB : lig As Integer si on dépasse 255...

Edit : bonne année 2010 bh2

Bonne nuit pour moi.
 
Dernière édition:

baud95

XLDnaute Nouveau
Re : défusionner et garder la valeur dans toutes les cellules

merci pour vos réponses aussi rapide hélas je n'arrive pas à faire fonctionner ni l'une ni l'autre.

Une ne me garde pas toutes les valeurs et l'autre bug.

Pourriez vous essayer avec mon fichier joint ci dessus sachant qu'en faite les lignes à défusionner serait les lignes impaires dans les colonnes C à AG

merci par avance

cordialement David
 

job75

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Re,

Bon alors simplement :

Code:
Sub defusionner()
Dim Cel As Range, I As Byte
  For Each Cel In ActiveSheet.UsedRange
    If Cel.MergeCells And Cel.Row Mod 2 Then
      I = Cel.MergeArea.Cells.Count
      Cel.UnMerge
      Cel.Resize(1, I).Value = Cel.Value
    End If
  Next Cel
End Sub

Rebonne nuit.
 

Cousinhub

XLDnaute Barbatruc
Re : défusionner et garder la valeur dans toutes les cellules

Re,

Bonjour, Job, et meilleurs voeux à toi également (euh, pour info, il est 11H30, ici...)

baud95, on veut bien t'aider, mais sois cohérent..

dans ton fil de 01H38 :

uniquement sur les lignes portant un n° pair.

celui de 02H13 :

lignes à défusionner serait les lignes impaires

Pour les anomalies constatées, il serait bien que tu précises avec quel code tu as ton souci (je m'en doute, mais c'est à toi de le dire), et avec quel code tu as le bug (donc c'est l'autre)

Dans le code de Job, tu auras un bug si toutes les lignes (jusqu'à 200) ne sont pas remplies... (intersect zone active et ligne (i))

Dans le mien, je ne comprends pas :

Une ne me garde pas toutes les valeurs

Bref, sois plus précis dans ta demande, de plus ton fichier exemple commence à la ligne 9 (première cellule à défusionner...)

Bonne nuit pour vous, pour moi c'est l'heure de l'apéro...
 

baud95

XLDnaute Nouveau
Re : défusionner et garder la valeur dans toutes les cellules

je vois que nous avons repondu en meme temps

dsl de ne pas etre cohérent pour les lignes pairs et impairs, la difference etait entre mon fichier et mon exemple.

Merci pour votre aide, ca fait une heure que j'essaye plusieurs codes (avec pour bases les votre) et désormais ca marche.

Cela me permet de commencer à apprendre le VBA .

merci pour votre aide

Cordialement David
 

Discussions similaires

Réponses
6
Affichages
89
Réponses
7
Affichages
144

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T