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 :

Select obligatoire pour remplir feuille avec variable tableau ? [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    .
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : .
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Par défaut Select obligatoire pour remplir feuille avec variable tableau ?
    Bonjour,

    Programmant de façon sporadique sur excel, je dois à chaque fois me replonger dedans quand je dois m'y mettre.

    Et là j'ai une question toute bête :

    - Une feuille Clients, contenant un numéro, un nom, prénom etc
    - Une feuille Liste_Clients, contenant un intitulé (colonne A) et un numéro (colonne B)

    Cette feuille Liste_Clients me sert à alimenter mes combobox pour les clients.
    En faisant ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Sheets("Liste_Clients").Range("A1").CurrentRegion
        ReDim TabCli(.Rows.Count, .Columns.Count)
        TabCli = .Value
    End With
    Chk_Nom.Combo_Nom.List = TabCli
    Jusque là, tout se passe bien.

    C'est quand je veux faire l'inverse, mettre à jour ma feuille "Liste_Clients" à partir de ma feuille "Clients", le tout en passant par un tableau, que ça coinçe :

    Je fais :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    Dim j, i As Integer
    Dim nbligne As Long
    Dim TabCli() As String
    Dim Activ_sh As Worksheet
    Dim F_LCli As Worksheet
    Set Activ_sh = ActiveSheet
    Set F_LCli = Worksheets("Liste_Clients")
    ' Recréer Feuille TabCli à chaque modification de la base clients (Nom, Prénom ou Civilité)
    ' Ou création ou suppression d'un client
     
    ' La feuille sera triée par ordre alpha
    TrierFeuilleAlpha ("Clients")
    nbligne = Sheets("Clients").Range("A" & Columns(1).Rows.Count).End(xlUp).Row
    ReDim TabCli(nbligne - 1, 1)
     
    For j = 2 To nbligne
        i = j - 2
        TabCli(i, 0) = Sheets("Clients").Range("B" & j).Value & " " & Sheets("Clients").Range("C" & j).Value & " (" & Sheets("Clients").Range("D" & j).Value & ") " & Sheets("Clients").Range("E" & j).Value & " " & Sheets("Clients").Range("H" & j).Value
        TabCli(i, 1) = Str(Sheets("Clients").Range("A" & j).Value)
    Next j
    F_LCli.Columns("A:B").Delete Shift:=xlToLeft
    F_LCli.Select
    Range(Cells(1, 1), Cells(UBound(TabCli, 1), UBound(TabCli, 2) + 1)) = TabCli
    ' Désactiver évènement select feuille
    Application.EnableEvents = False
    Activ_sh.Select
    Application.EnableEvents = True
    Je suis obligée de faire un select pour remplir ma plage sinon, en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_LCli.Range(Cells(1, 1), Cells(UBound(TabCli, 1), UBound(TabCli, 2) + 1)) = TabCli
    J'ai une erreur '1004' La méthode 'Range' de l'objet '_Worksheet' a échoué

    Si quelqu'un peut me dépanner pour, je suis sure, quelque chose qui doit être gros comme une maison ...

    Merci d'avance !!

    P.S. le "Activ_sh" ne me sert que justement parce que je suis obligée de faire ce select et j'ai dû rajouter cette partie !!!

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Indiquer la feuille pour la Range et les Cells à l'intérieur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_LCli.Range(F_LCli.Cells(1, 1), F_LCli.Cells(UBound(TabCli, 1), UBound(TabCli, 2) + 1)) = TabCli

  3. #3
    Membre averti
    Profil pro
    .
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : .
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Par défaut
    Pffffff bien sûr !!!

    Merci beaucoup beaucoup !!!!

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

Discussions similaires

  1. [XL-2003] ouvrir feuille avec variable
    Par psychosiffleur dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 03/06/2009, 12h04
  2. Réponses: 6
    Dernier message: 21/03/2009, 19h01
  3. feuille avec variable
    Par manouk dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/02/2009, 17h41
  4. Fonction affich pour remplir des champs de tableau
    Par bc.dumon dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 17/04/2008, 09h56
  5. Réponses: 0
    Dernier message: 27/07/2007, 17h53

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