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 :

Selectionner plag de cellules avec Offset


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut Selectionner plag de cellules avec Offset
    Bonjour,

    J'utilise dans une macro la fonction OffSet pour situer des cellukles par rapport à une autre. Exemple Range("A1").Offset(1,1) pour B1.

    J'aurais souhaité savoir quelle était la syntaxe qui permet de selectionner plusieurs cellules d'un coup avec Offset (pour les fusionner par exemple)?
    Par exemple je veux fusionner les cellules B2 à D4, comment l'écrit-on?
    J'ai essayé Range("A1").Offset(1:2 ,1:3).MargeCells, cela ne marche pas evidemment...

    Est-ce que quelqu'un sait comment s'y prendre?

    Merci d'avance !

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    apprends à utiliser l'enregistreur de macros qui te donnerais ce code, à peu près
    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
    17
    18
    19
    Sub Macro1()
    '
    ' Macro1 Macro
    '
     
    '
        Range("B2:D4").Select
        With Selection
            .HorizontalAlignment = xlGeneral
            .VerticalAlignment = xlBottom
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = True
        End With
    End Sub
    adaptes le pour obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
        With Range("B2:D4")
                   .MergeCells = True
        End With
    End Sub
    si tu tiens à avoir des "offset", on adapte
    bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut
    Bonjour casefayere,

    si tu tiens à avoir des "offset", on adapte
    C'est justement comment adapter pour un offset qui m'interesse. Je connaissais la formulation pour fusionner des cellules par rapport à leur position absolue, mais je ne sais pas quelle syntaxe utiliser pour le faire en offset.. J'ai essayé d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Offset("(1,1) :(2,3)").MargeCells
    Cela ne fonctionne pas.. Est-ce que tu sais coimment adapter à un offset?

    Cordialement

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    re,
    dans le cas de b2:d4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range(range("a1").offset(1,1).address,range("a1").offset(3,3).address)
    ou avec cells

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range(cells(2,2),cells(4,4))
    j'ai fait à main levée

    bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/01/2015, 16h18
  2. Réponses: 2
    Dernier message: 13/08/2014, 09h14
  3. copier coller plage cellule avec Offset
    Par beebe dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/06/2008, 15h03
  4. Réponses: 3
    Dernier message: 06/06/2006, 18h38
  5. [JTable] Cellule avec deux boutons
    Par cherbox dans le forum Composants
    Réponses: 3
    Dernier message: 12/08/2004, 18h26

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