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 :

choix d'un tableau variable [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonsoir tous le monde et merci d'avance
    pour mon projet chaque feuil contient une balance comptable pour un mois :
    feuil1 nommée "Janvier_2015"
    feuil2 nommée "Février_2015"
    .... ainsi de suite
    je veux que chaque "feuil" peut être considéré comme mon tableau base de calcul selon un choix effectué dans un combobox

    voila un partie de code qui prends comme tableau la feuil "janvier_2015"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Tablo
    Dim I As Long
    Tablo = Sheets("janvier_2015").Range("A2", "F" & Sheets("BALANCE").Range("F" & Rows.Count).End(xlUp).Row)
    A noter que les tableaux sont de taille identique
    Peux je utiliser la sheet.name...??

    Si vous voyer autre chemin je suis preneur

    est ce je peux procéder de la facon suivante :
    si valeur : combobox = "janvier 2011" then tableau = sheets "janvier_2011"
    si valeur : combobox = "février 2011" then tableau = sheets "février_2011"
    ....
    ..
    ..
    que pensez vous??

    Merci d'ance

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    j'avance comme un tortue
    sur un site j'ai trouver le code qui alimente mon combobox par le nom des sheets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
    Dim Ws As Worksheet
    ComboBox1.Clear
        For Each Ws In ThisWorkbook.Worksheets
            If Ws.Name <> "Feuil1" and Ws.Name <> "Facture" and Ws.Name <> "Devis" Then
                ComboBox1.AddItem Ws.Name
            End If
        Next Ws
    End Sub
    maintenant je dois chercher comment formuler ça :
    si valeur combobox = allez à la feuil portant le même nom
    un cou de main les gar svppppp

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    encore moi :
    svp pourquoi ça fonctionne pas??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Tablo
    Dim I As Long
    sh.Name = Sheets("ENERGIE").Range("D2")
    Tablo = sh.Name.Range("A2", "G" & sh.Name.Range("G" & Rows.Count).End(xlUp).Row)
    j'essaye d'envoyer la valeur de Combobox1 dans Sheets("ENERGIE").Range("D2")
    puis j'essaye de l'utilisé comme nom de feuil
    c'est dingue non
    mais ça fonctionne pas !!!

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,


    je ne regarde que t'on dernier message .. je vois que tu utilise ce qui semble être une variable objet sh ... on ne vois pas où tu la déclare... , on vas dire que tu veux utiliser cette variable pour accéder à une feuille de ton classeur pour cela ... et non pas pour en changer le nom ce que pourrais faire ton code tel qu'il est écrit...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim sh As workSheet
     
    set sh =ThisWorkBook.Sheets(ThisWorkBook.Sheets("ENERGIE").Range("D2").text)
    '--- à partir de ce moment là .. la variable sh pointe sur la feuille du classeur contenant ce code , et dont le nom est contenu dans la feuille Energie en cellule D2 ..
     
    msgbox "la variable sh pointe sur la feuille : " & sh.Name  & " qui comporte au maximum  : " & sh.rows.count & " lignes"
     
     
    Tablo = sh.Range("A2", "G" & sh.Range("G" & sh.Rows.Count).End(xlUp).Row)
    '......

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour et merci pour la réponse
    c'est exactement ce que je cherche
    mais malheureusement votre code ne fonctionne pas

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    pourquoi dis tu que le code ne fonctionne pas ?

    que se passe-t-il ... ?

    j'ai corrigé la lige set sh :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set sh = ThisWorkbook.Sheets(ThisWorkbook.Sheets("ENERGIE").Range("D2").Text)

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

Discussions similaires

  1. [Tableau] Nom de tableau variable
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 17/05/2007, 21h08
  2. Tableau à variables différentes
    Par Piercy dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/04/2006, 09h54
  3. [tableau] variable dynamique
    Par Longrais dans le forum Langage
    Réponses: 4
    Dernier message: 06/02/2006, 13h12
  4. [FLASH MX] Nom de tableau variable
    Par totoche dans le forum Flash
    Réponses: 1
    Dernier message: 25/11/2005, 16h21
  5. Tableau + variable de session
    Par Pymm dans le forum ASP
    Réponses: 6
    Dernier message: 13/10/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