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 :

faire une selection multiple de feuilles en fonction de variables


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut faire une selection multiple de feuilles en fonction de variables
    bonjour a toutes et tous,
    je m'interesse depuis longtemps a excel et au vba, mais la, je seche!
    j'ai cree un formulaire qui, quand on coche des checkbox, la feuille correspondante doit etre selectionnee.
    le probleme, c'est que a l'avance on ne sait pas combien seront selectionnees, ni lesquelles.
    je pensais a une architecture du style sheets(array(ma_variable))
    mais ca plante.

    voici un bout de mon code :

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For x = 1 To 7
    If Me.Controls("CheckBox" & x).Value = True Then a = Sheets(Me.Controls("CheckBox" & x).Caption).Index
    Next x


    ensuite on se fait un a= a & ", " & a (par exemple)

    puis pour finir sheets(array(a)).select


    mais ca marche pas!!
    merci de vos precieux conseils et experiences.

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    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
    Private Sub CommandButton1_Click()
    Dim cmpt, tabFeuille As Variant
     
    For cmpt = 1 To 6
        If Me.Controls("checkbox" & cmpt).Value = True Then
            If IsArray(tabFeuille) Then
                ReDim Preserve tabFeuille(UBound(tabFeuille) + 1)
            Else
                ReDim tabFeuille(0)
            End If
            tabFeuille(UBound(tabFeuille)) = "Feuil" & cmpt
        End If
    Next
    If IsArray(tabFeuille) Then ThisWorkbook.Sheets(tabFeuille).Select
    End Sub

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut super!!
    Merci beaucoup!
    ca fonctionne a merveille.
    mais comme le caption de mes checkbox correspond au name des feuilles,
    j'ai modifie comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         tabFeuille(UBound(tabFeuille)) = Me.Controls("checkbox" & x).Caption
    et la c'est absolument parfait.
    a bientot!

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

Discussions similaires

  1. Export données issue d'une selection multiple
    Par olam37 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/07/2007, 16h26
  2. [VBA-E] faire une boucle entre 2 feuilles
    Par MustOne dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/05/2007, 20h59
  3. Réponses: 2
    Dernier message: 24/08/2006, 11h33
  4. Faire une selection de texte et la travailler
    Par simou37000 dans le forum Flash
    Réponses: 3
    Dernier message: 19/07/2006, 04h44
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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