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 :

Fusionnez des cellules après validation.


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2017
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2017
    Messages : 59
    Points : 20
    Points
    20
    Par défaut Fusionnez des cellules après validation.
    Bonjour,

    Je voudrais que à la suite de la validation de mon formulaire, certaines cellules se fusionnent et que le texte soit centré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        ElseIf (CheckBox5 And CheckBox2) = True Then
            L = Sheets("S").Range("D65000").End(xlUp).Row + 1
            With Sheets("Suivi Livret A")
                .Range("D" & L).Value = TextBox4
                .Range("E" & L).Value = TextBox4
                .Range("F" & L).Value = TextBox4
                .Range("G" & L).Value = TextBox4
                .Range("H" & L).Value = TextBox4
            End With
     
    Activecells.Merge
    J'aimerai que les cellules D,E,F,G,H se fusionnent.... Merci pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 151
    Points : 182
    Points
    182
    Par défaut
    Bonjour,

    Voici un exemple de code que j'ai utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Application.DisplayAlerts = False
    Range("A1:B10").Select
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        Selection.Merge
    Application.DisplayAlerts = True
    J'espère que ce code t'aidera.

  3. #3
    Membre à l'essai
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2017
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2017
    Messages : 59
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par electrons Voir le message
    Bonjour,

    Voici un exemple de code que j'ai utilisé
    Sauf que ton code, prend en compte les cellules que tu défini en haut. Moi comme ta pu voir le formulaire se met à la dernière ligne non utilisé et et inscrit ces informations.

  4. #4
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour,
    L'enregistreur de macro nous indique que la commande pour fusionner des cellules est Merge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(la plage à fusionner).Merge
    Il suffit donc de remplacer la plage à fusionner par la plage que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("D" & L & ":H" & L).Merge

  5. #5
    Membre à l'essai
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2017
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2017
    Messages : 59
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par riaolle Voir le message
    Bonjour,
    Il suffit donc de remplacer la plage à fusionner par la plage que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("D" & L & ":H" & L).Merge
    Voici le code que j'ai inscrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Suivi employé").Range("D" & L & ":H" & L).Merge.Value = TextBox4
    Il me stipule erreur d'éxécution '424' objet requis.

  6. #6
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Il faut faire l'un après l'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("Suivi Livret A")
                .Range("D" & L).Value = TextBox4
                .Range("D" & L & ":H" & L).Merge
            End With
    Merge est une action que l'on effectue sur un objet Range. Value est une propriété de l'objet Range.
    Prenons un exemple de "la vie quotidienne". Soit l'objet fenêtre. Une action est "ouvrir". Une propriété est la "couleur" de la fenêtre. Toi tu écris fenêtre.ouvrir.couleur = rouge. En gros, tu dis la phrase suivante : "la couleur de ouvrir la fenêtre est rouge". Ca ne va pas. D'abord, on ouvre la fenêtre, puis on lui attribue la couleur rouge (ou l'inverse).
    Tu vois le truc ?

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 151
    Points : 182
    Points
    182
    Par défaut
    Rebonjour,

    Voici le code qui fusionne les cellules, Attention, seule la cellule de gauche sera centrée, le contenu des autres est supprimé lors de la fusion. Si tu veux garder toutes les cellules en les concatenant, il faut créer au préalable un "String" qui va contenir l'ensemble des différents textes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Range(Cells(L, 4), Cells(L, 8)).Select 'Le 4 correspond au D et le 8 au H
    Application.DisplayAlerts = False
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        Selection.Merge
    Application.DisplayAlerts = True
    Bon travail et ne pas oublier le résolu.... si OK

  8. #8
    Membre à l'essai
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2017
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2017
    Messages : 59
    Points : 20
    Points
    20
    Par défaut
    Merci pour l'info, très sympa.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Sheets] Mise en forme auto des cellules après validation du formulaire
    Par atardif dans le forum APIs Google
    Réponses: 0
    Dernier message: 07/08/2015, 14h01
  2. [XL-2003] Copier des cellules après un filtrage
    Par mandrake57 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 02/06/2011, 00h25
  3. Positionnement des cellules apres action
    Par papy_polo67 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/04/2010, 22h43
  4. Comment effacer des cellule après modification d'une cellule
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2009, 08h51
  5. déselectionner des cellules après un copier coller
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/06/2008, 17h45

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