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 :

Définir des plages de cellules variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Par défaut
    Bonjour le Forum,

    Je débute en VBA et voici mon problème:

    J'ai un fichier avec 2 onglets, l'un appelé "Périmètre" et l'autre appelé "Reporting". Je dois envoyer ce template à plusieurs pays. Après sélection de leur pays dans une liste de validation dont la source est l'onglet "Périmètre" colonne B, chaque pays sélectionne sa ou ses filiale(s) dans une liste de validation dont la source est l'onglet "Périmètre" colonne A. La liste de Pays ne variera pas dans le temps alors que la liste des filiales peut changer car il peut y avoir des filiales vendues ou nouvelles chaque mois. J'ai réussi à créer une liste de validation pour ma cellule Pays et ma cellule Filiale en utilisant INDIRECT(Austria) par exemple. Cependant, au lieu d'utiliser le Gestionnaire de noms et aller sélectionner mes plages de cellules contenant les filiales pour chaque pays je souhaite créer un bouton, avec une macro qui parcourra la colonne B et qui pour chaque changement de pays, ira sélectionner une plage de cellule avec la ou les filiales correspondante(s) ET la nommera du nom du pays. Le tableau périmètre commence en A6 et finit en B1277.
    Je vous remercie par avance pour l'aide que vous voudrez bien m'apporter.
    Cordialement

    A toutes fins utiles, voici le fichier. Petite précision, les filiales se trouvent dans la colonne D et les pays dans la colonne X toujours à partir de la ligne 6. Mon vrai fichier ne comporte aucune cellule vide jusqu'à la ligne 1277. Mais pour des raisons de confidentialité et de taille de fichier, j'ai dû faire un peu de nettoyage.

    Cordialement
    Fichiers attachés Fichiers attachés

  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 le forum, Gigelle,

    Ton explication est très confuse et ton fichier n'indique pas vraiment ton but, en attendant, je te propose un bouton qui ouvre un USF, mais qui pour l'instant, à part répertorier les pays, ou les filtrer dans la listbox, ne fait rien d'autre tant que je n'aurai pas compris
    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
    Janvier 2008
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 105
    Par défaut
    a quoi sert ma colonne "F" dans le tableau ??

    quelle est la colonne qui définit la taille (nombre de lignes) du tableau ??

    comme le dit casefayere, c'est TRES confus...
    on peut comprendre qu'il puisse y avoir de la confidentalité dans tes données mais faut nous donner des billes pour pouvoir t'aider.

    ça n'a pas l'air super compliqué mais bon...

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Par défaut Re :
    Bonsoir casefayere,

    Je suis vraiment désolée si je n'ai pas réussi à me faire comprendre clairement.
    En fait je cherchais à créer de façon automatique une liste déroulante qui varie en fonction du choix d'un autre liste déroulante. Dons si l'utilisateur sélectionne le pays "Austria", il ne verra que les filiales du pays "Austria".
    Mais il est vrai que je n'avais pas pensé à joindre l'onglet "Reporting", dans lequel, j'avais mis en B5 les pays à sélectionner et en B11 la liste des filiales correspondant au pays sélectionné.

    Après une nuit blanche, j'ai finalement réussi à obtenir ce que je voulais. Je mettrais les codes (un mix de macro et de fonctions DECALER) demain car j'ai laissé mon pc professionnel au bureau cette fois

    Merci à ceux qui ont pris le temps de me répondre.

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Par défaut RE:
    Bonjour le forum,

    Désolée pour ma réponse tardive ...
    J'ai finalement réussi à créer une liste de validation dépendante (sélection des entités du pays choisi pour chaque pays)

    Il fallait en fait utiliser la fonction =DECALER(maplage;0;0;NBVAL(maplage)) dont j'ignorais l'existence.

    Comme mon périmètre varie dans le temps, j'ai également utilisé une macro qui extrait les nouvelles entités et les pays associés sans les doublons !

    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
    Sub Extrac_Pays()
        Range("X6").Select
        Sheets("Périmètre").Range("X5:X1278").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Table").Range( _
            "A1"), Unique:=True
    End Sub
     
    Sub Extraire_colPays_and_Entities()
    'Extraction colonne Pays (à utiliser pour le cash tax reporting)
    Sheets("Périmètre").Select
    Range("X5:X1278").Select
    Selection.Copy
    Sheets("Table").Select
    Range("F5").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
     
    'Extraction colonne Entity
    Sheets("Périmètre").Select
    Range("D5:D1278").Select
    Selection.Copy
    Sheets("Table").Select
    Range("G5").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    End Sub
    Merci à ceux qui ont tenté de m'aider.

    Cordialement,
    Gigelle

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

Discussions similaires

  1. Importer des plages de cellules variables
    Par charles_bois dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2009, 19h13
  2. Réponses: 25
    Dernier message: 30/05/2007, 13h03
  3. Somme dépendant de plage de cellules variable
    Par Talieth dans le forum Excel
    Réponses: 4
    Dernier message: 23/04/2007, 10h37
  4. appliquer une macro a une plage de cellule variable
    Par johndeuf dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/11/2006, 16h18
  5. [VBA-E]Selection plage de cellules variable
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 14h51

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