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 :

[VBA] groupement de colonnes


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
    Août 2004
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 102
    Par défaut [VBA] groupement de colonnes
    bonjour,

    je souhaite grouper des colonnes Excel sous VBA.
    Voici ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xlapp.ActiveWorkbook.Sheets(iNumSheet).Columns(sCols).Columns.Group
    ou inumsheet et scols sont des variables. Cela fonctionne.
    Mais le "hic" c'est que je ne connais pas le nombre de colonne (ca bouge tous les mois !), je ne peut donc pas utiliser ceci.
    Voici donc mon nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Sub GroupementHorizontalDynamique(iNumSheet, iColumnsDeb)
     
        For IColumns = iColumnsDeb To iColumnsDeb + maxRows
            If xlapp.ActiveWorkbook.Sheets(iNumSheet).Cells(7, IColumns).Font.Bold = True _
            And xlapp.ActiveWorkbook.Sheets(iNumSheet).Cells(7, IColumns).Font.Italic = True Then
                xlapp.ActiveWorkbook.Sheets(iNumSheet).Range(Cells(7, iColumnsDeb), Cells(7, IColumns - 1)).Columns.Group
            End If
        Next
    End Sub
    Apparement, il n'aime pas la ligne ou je groupe. Car lorsque j'execute deux fois la macro, elle plante...
    Savez vous si on peut identifier des colonnes par des chiffres et non par des lettres, cela m'arrangerais ?
    merci, j'espere etre clair...

  2. #2
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 102
    Par défaut
    personne :-(
    vous n'avez pas une petite idée pour m'aider ?


  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set feuille = xlapp.ActiveWorkbook.Sheets(iNumSheet)
    feuille.Range(feuille.Cells(7, iColumnsDeb).EntireColumn, feuille.Cells(7, IColumns - 1).EntireColumn).Group
    Attention, n'oublie pas les feuille.Cells(...), sinon cela plantera car ceux ne seront pas les cellules de la feuille iNumSheet, mais de la feuille Active.

  4. #4
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 102
    Par défaut
    merci beaucoup cela fonctionne
    Tu es un génie dadavyvy !!!


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

Discussions similaires

  1. [VBA-E] parcours colonne à l'infini
    Par Yaone dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2006, 21h37
  2. [VBA-E]Transformer colonne en ligne
    Par amd64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/03/2006, 14h48
  3. [VBA-Excel]Décale colonne tant que valeur cellule ....
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/02/2006, 17h56
  4. [VBA] Fusionner plusieurs colonnes en une seule
    Par brutos2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/01/2006, 14h25
  5. [VBA] Trier les colonnes d'une listview
    Par alncool dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/09/2005, 14h12

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