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

Excel Discussion :

Tableau structuré & VBA [Toutes versions]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut Tableau structuré & VBA
    Bonjour,

    Après des recherches sur le site, je n'arrive pas à trouver une explication ou une aide que je puisse appliquer dans mon code VB afin de le rendre plus "dynamique".

    Dans un fichier de suivi de déploiement, j'ai un tableau structuré "suiv" qui est amené à évoluer en fonction de mes besoins sur différents projets (ajouts/suppressions de colonnes). Par le biais de boutons, je peux modifier le statut d'un poste (déployé, annulation à j, ...).

    Mon code VB me permet ainsi en me positionnant sur la ligne du poste que je dois mettre à jour et en utilisant l'un des boutons de modifier automatiquement le statut et d'ajouter une date de mise à jour (ces datas me permettent de faire du reporting quotidien/hebdo/mensuel).

    Pour cette mise à jour de date, je cible ma cellule souhaitée en utilisant le code suivant :

    Cells(ActiveCell.Row, 19).Select

    Comment puis-je faire pour indiquer clairement le nom de la colonne cible en utilisant mon tableau structuré ? Dans le sujet suivant http://www.developpez.net/forums/d13...tructures-vba/ je comprends qu'il est possible de cibler une colonne en utilisant Range("nomTableau[nomColonne]").Select mais je ne sais pas l'adapté dans mon cas.

    J'ai essayé :
    Cells(ActiveCell.Row, "suiv[Date de déploiement]").Select
    Cells(ActiveCell.Row, suiv[Date de déploiement]).Select

    Une personne peut-elle m'aider à mettre à jour mon code afin de rendre mon fichier dynamique et plus malléable ? Je ne suis pas contre un minimum d'explication sur une solution, afin de comprendre et de ne pas recopier simplement.

    Par avance merci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").ListObjects("nomTableau").ListColumns("nomColonne").DataBodyRange.Select
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("nomTableau[nomColonne]").Select

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut
    Bonjour Daniel,

    Pouvez vous m'apporter une précision sur le code proposé ? Je ne sais pas si cela vient en remplacement de mon code et/ou en complément ?

    Je comprends que cela me permet de cibler la colonne de mon tableau sans pour autant savoir sur quelle ligne je travail.

    Merci à vous

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Pour cibler la cellule de la colonne correspondant à la cellule active :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        With Sheets("Feuil1").ListObjects("nomTableau").ListColumns("nomColonne")
            Intersect(.DataBodyRange, ActiveCell.EntireRow).Select
        End With

  5. #5
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut
    Daniel,

    Je viens de faire un test rapide en utilisant votre second morceau de code. Le résultat est exactement celui attendu !

    Un grand merci pour votre aide. Sincèrement.

    Bon week end à vous.

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

Discussions similaires

  1. Tableau & Structure
    Par irons dans le forum C
    Réponses: 20
    Dernier message: 08/05/2007, 22h53
  2. [VBA-E] Construction d'un tableau EXCEL avec VBA
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/05/2007, 07h35
  3. [VBA-E] Problème de tableau dans macro VBA
    Par Chouls dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2006, 15h20
  4. [VBA-E]créer un tableau Excel en vba
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/01/2006, 16h06
  5. Réponses: 3
    Dernier message: 20/11/2005, 20h04

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