IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fractionner des cellules fusionnées


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Fractionner des cellules fusionnées
    Bonjour à tous,

    Je cherche à fractionner des cellules qui ont déjà été fusionnées puis à recopier le contenu de la première cellule (puisque fractionnée) dans les autres cellules concernées:
    A2:A7 => Fractionner1
    A2=>Fractionner1
    A3=>Fractionner1
    ...
    A7=>Fractionner2
    Et ainsi dessuite pour toute ma colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub fractionner()
    ActiveCell.Copy
    i = ActiveCell.MergeArea.Rows.Count
    j = ActiveCell.MergeArea.Columns.Count
    ActiveCell.MergeCells = False
    li = Selection.Row
    col = Selection.Column
    For k = li To li + i - 1
        For l = col To col + j - 1
            Cells(k, l) = Cells(li, col)
        Next l
    Next k
    End Sub
    J'ai essayé quelquechose comme ça mais ça ne marche pas.
    Avez-vous une idée?

    Merci à vous !
    Cdlt aure_8
    Fichiers attachés Fichiers attachés
    Dernière modification par Invité ; 13/11/2013 à 19h20.

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 63
    Par défaut
    Salut aure_8,

    Pour que ton code soit plus lisible, édite ton message, sélectionne ta partie de code et clique sur la balise qui ressemble à un dièse, ça permettra de mieux pouvoir lire ton code (bon là c'est pas trop dur à lire, mais pour les prochaines fois, fais le ! )

    Autrement, tu as essayé de faire ça avec l'enregistreur de macro ?

    Edit : Ton code marche très bien non ? Il faut juste faire attention à bien sélectionner la case que tu veux fractionner avant de lancer ta macro en fait.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Merci pour l'indication de l'édition du code, c'est vrai que c'est mieux.
    Ce code je l'ai copier dans la Feuil1 et je clic sur la flêche "play" verte.
    Je sélectionne le nom de ma macro puis exécuter.
    je pensais que c'était la procédure à suivre.

    Cdlt
    aure_8

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 63
    Par défaut
    Citation Envoyé par aure_8 Voir le message
    Merci pour l'indication de l'édition du code, c'est vrai que c'est mieux.
    Je ne vois pas de changement dans ton premier message, tu as peut être oublié d'enregistrer les changements avec la balise code (#)

    Le problème avec ton code, c'est que :
    1) si tu ne sélectionnes pas la cellule que tu veux fractionner avant de lancer ta macro comme tu le fais (avec la flèche "play"), ça ne va pas marcher parce que ta 1ère ligne c'est ça :
    Ce qui veut dire qu'il copie la cellule active, et la cellule active c'est la cellule qui est sélectionnée dans ton fichier Excel juste avant que tu lances la macro. Donc si c'est la grosse cellule c'est bon, mais si tu as cliqué sur une autre, ça ne marche plus. Tu vois ?
    Dans le fichier que tu as envoyé, tu devrais donc mettre plutôt (de mémoire ta cellule à fractionner était en 2e ligne et 1ere colonne):
    Là ça s'occupera de la bonne cellule.

    2) ça ne le fait que pour la cellule sur laquelle tu as cliqué. Mais c'est peut être ce que tu veux ! Sinon, il faudrait faire une boucle pour faire la même opération sur chaque cellule fusionnée. Tu vois ce que je veux dire ?

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu peux remplacer ActiveCell par une plage spécifique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Fractionner()
    Dim Rng As Range
     
    With ActiveCell
        If .MergeCells Then
            Set Rng = .MergeArea
            .UnMerge
            .Cells(1, 1).Copy Rng
            Set Rng = Nothing
        End If
    End With
    End Sub

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re Piixx_e,

    Effectivement petit problème d'enregistrement des modifs, désolé. Merci pour tes explications je comprends mieux la chose.

    Slt mercatog, merci pour ton code, j'ai compris la démarche à suivre.

    Encore merci à vous pour cette aide et bonne soirée

    Cdlt
    aure_8

Discussions similaires

  1. une Table avec des cellules fusionnées
    Par vodasan dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/03/2008, 08h24
  2. Supprimer des colonnes avec des cellules fusionnées
    Par alain74 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/03/2008, 11h07
  3. Selectionner une colonne avec des cellules fusionnées
    Par Pietro_L dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/09/2007, 07h47
  4. Sauvegarder des cellules fusionné dans un stringgrid
    Par ghassenus dans le forum Delphi
    Réponses: 6
    Dernier message: 20/06/2007, 22h46
  5. VBA XLS : Adapter hauteur ligne à des cellules fusionnées
    Par CB56 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/11/2006, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo