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 :

Problème suppression / ajout de colonne [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut Problème suppression / ajout de colonne
    Bonjour à tous,

    J'ai fait un fichier de pilotage des ressources humaines par périmètre et quelques macros d'actualisation automatique (TCD qui s'actualisent auto etc...)

    Alors voila mon PB, j'ai une macro d'ajout de colonne e affectée à un bouton et une macro colonne de suppression de colonne affectée à un autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ColonneInsertion()
    Columns(13).Insert
    End Sub
     
    Sub ColonneSupp()
    Columns(13).Delete
    End Sub
    Maintenant, je cherche à faire deux choses mais je n'y parviens pas malgré plusieurs essais:
    1/ J'ai besoin qu'un message apparaisse quand je clique sur un bouton et qu'Excel demande à l'utilisateur quelle colonne il souhaite supprimer ou ajouter (par: colonne A ou B ou C, etc...)
    2/ J'ai un onglet SYNTHESE qui dépend des ces données et j'aimerai ajouter une ligne dans cet onglet pour chaque colonne ajoutée (avec l'intitulé de l'en tête de colonne dans la première cellule de la ligne) dans l'onglet TEST et supprimer la ligne correspondante pour chaque colonne supprimée dans l'onglet TEST.

    Je joints mon fichier pour illustrer ce que je cherche à faire.

    Merci d'avance à tous ceux ou toutes celles qui sauront m'aider ou m'orienter!!
    Alain

    http://www.cjoint.com/c/GDhi2HnKTyP

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour

    J'ai besoin qu'un message apparaisse quand je clique sur un bouton et qu'Excel demande à l'utilisateur quelle colonne il souhaite supprimer ou ajouter
    Intéresse-toi à la Inputbox.
    J'ai un onglet SYNTHESE qui dépend des ces données et j'aimerai ajouter une ligne dans cet onglet pour chaque colonne ajoutée (avec l'intitulé de l'en tête de colonne dans la première cellule de la ligne) dans l'onglet TEST et supprimer la ligne correspondante pour chaque colonne supprimée dans l'onglet TEST.
    Quel est ton problème exactement? Pourquoi ne te bases-tu pas sur les 2 fonctions que tu présentes dans ton message?

  3. #3
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    Bonjour riaolle


    Mon problème principal est que lorsque j'ajoute ou supprime une colonne dans TEST, j'ai besoin qu'une ligne s'ajoute ou se supprime dans le tableau de l'onglet SYNTHESE mais clairement, je ne vois pas comment faire car je dois faire correspondre les deux.

    EDIT: voici mon code avec l'InputBox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub ColonneInsertion()
    Dim ColonneAajouter As String
    ColonneAajouter = InputBox("Avant quelles colonnes souhaitez-vous en ajouter une : ", "COLONNE")
    Columns(ColonneAajouter).Insert
    End Sub
     
    Sub ColonneSupp()
    Dim ColonneAsupprimer As String
    ColonneAsupprimer = InputBox("Avant quelles colonnes souhaitez-vous en ajouter une : ", "COLONNE")
    Columns(ColonneAsupprimer).Delete
    End Sub
    Cela marche niquel MERCI!!!

    En revanche, comment faire pour que par exemple si je choisi la colonne N dans le message, une nouvelle colonne s'ajoute avant? ou à l'inverse comment faire pour que la colonne N soit supprimée si je la selectionne?
    As-tu une idée du code à utiliser?

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    En revanche, comment faire pour que par exemple si je choisi la colonne N dans le message, une nouvelle colonne s'ajoute avant? ou à l'inverse comment faire pour que la colonne N soit supprimée si je la selectionne?
    As-tu une idée du code à utiliser
    Je ne comprends pas ta question, car le code que tu me proposes, fait exactement ceci.

  5. #5
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    Oui, tout à fait, et c'est grâce à toi si j'ai trouvé la solution pour ce pb, merci!

    En revanche, mon second problème est de faire une formule qui aille chercher des références dans une ligne. c'est pas évident mon truc, je vais essayé d'expliquer avec un exemple: en gros j'ai trouvé cette formule que j'applique en A1 et elle va chercher la valeur de la première ligne dans la première colonne :
    =INDEX(TPO!$E$3:$CC$3;1;1)

    Le truc c'est qu'en déroulant la formule dans cette colonne A, je voudrai avoir les valeurs de la première ligne dans la deuxième colonne puis troisième colonne et ainsi de suite mais cela ne fonctionne pas.
    voici un fichier ultra simplifié pour expliquer mon soucis:
    http://www.cjoint.com/c/GDhlmOUbMRP

    Je pense que c'est très simple mais j'ai beau chercher..

    EDIT: j'ai trouvé aussi mon bonheur va ce lien: https://support.office.com/fr-fr/art...9-4b6dfac76027
    merci pour ton aide!
    https://support.office.com/fr-fr/art...9-4b6dfac76027

  6. #6
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Ah ok
    Alors, avec des formules Excel, c'est pas possible, il faut passer par VBA.
    Tu peux partir de l'option copier-coller transposer. Fais-le une fois manuellement tout en enregistrant la macro grâce à l'enregistreur de macro. Puis tu pourras adapter ton code obtenu grâce à l'enregistreur de macro.
    Petit indice : il faudra utiliser la méthode PasteSpecial qui s'applique à un objet de type Range. Et on s'intéressera plus particulièrement à l'argument Transpose de cette méthode.

    EDIT : j'avais pas lu l'edit En effet, avec une formule matricielle ça passe !

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/01/2012, 14h25
  2. Problème DataSet ajouter une colonne à une table
    Par neoprime1988 dans le forum C#
    Réponses: 2
    Dernier message: 20/09/2010, 15h01
  3. [Report Builder]-Problème dans l'ajout de colonnes
    Par Tsuful dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/01/2007, 08h51
  4. problème suppression colonne
    Par lolo_ici_et_la dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/12/2006, 23h28
  5. problème d'ajout et suppression de programmes
    Par ran_hery dans le forum Windows XP
    Réponses: 2
    Dernier message: 14/12/2005, 12h21

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