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 :

Fusionner des cellules et nombre de lignes variables VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 47
    Par défaut Fusionner des cellules et nombre de lignes variables VBA
    Bonjour,

    Je cherche à créer grâce à VBA une nouvelle colonne dans une base de donnée,
    Avant de remplir les données de cette colonne il me faut effectuer une fusion de 3 cellules (H8:H10) et reproduire cette fusion jusqu'en bas de ma base. J'ai toujours du mal avec la programmation sur un nombre de lignes variables et l'utilisation de "Autofill".
    Je précise que les cellules à fusionner sont pour le moment vide.

    Après un enregistrement de macro et avoir synthétisé le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Bouton5_Clic()
    '
    ' Bouton5_Clic Macro
    '
    
    '
        Range("H8:H10").Merge
        Range("H8:H10").AutoFill Destination:=Range("H8:H58"), Type:=xlFillDefault
        
       
    End Sub

    Il me faut donc remplacer la partie en gras pour travailler sur un nombre de lignes variables, j'ai essayé différentes solutions mais pour le moment aucun résultat adéquate, je pense que le soucis est le faites que mes cellules soient vides.
    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour hugohours1993,

    Voici un petit code qui te permet de merger autant de cellule que tu veux sur une colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
     
    Sub oMerge()
    Dim oRng As Range, oCell As Range
     
    With Worksheets("Feuil1")
        Set oRng = .Range("A1:A100")
        'Set oRng = Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
        For Each oCell In oRng
            oCell.Resize(1, 3).Merge
        Next oCell
    End With
     
    End Sub
    Après tu peux mettre dans la variable oRng un peu ce que tu veux.
    Mais étant donné que tes cellules sont vides, il est difficile, par exemple, de récupérer la dernière ligne non vide avec Set oRng = Range("A1", .Cells(.Rows.Count, 1).End(xlUp)).
    En espérant que cela te serve !

    Cordialement,
    Kimy

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 47
    Par défaut
    Ouai cela oblige à changer le code à chaque export fait c'est pas très pratique, mais merci pour l'idée.

    Peut être est t-il possible de repérer la dernière ligne par l'intermédiaire de la colonne précédente F, où les données sont dans ce cas ci présent.
    .. ?

    De plus, ton code me permet d'effectuer un fusion horizontal genre H:J, je voudrais une fusion verticale de H8:H10

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 47
    Par défaut
    Aucune idée?

Discussions similaires

  1. Fusionner des cellules par ligne
    Par sangoben dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/05/2018, 07h53
  2. Fusionner des cellules sur 34000 lignes
    Par iMaTh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/09/2011, 11h54
  3. Fusionner des cellules sur plusieurs lignes
    Par pekka77 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/07/2008, 18h05
  4. Selection plage de cellule au nombre de lignes variable
    Par yoann7 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/11/2007, 09h30
  5. [] [Excel] Fusionner des cellules
    Par SamyD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2002, 18h37

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