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 :

[VBA-E]Sélection de plusieurs colonnes


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 illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut [VBA-E]Sélection de plusieurs colonnes
    Désolé pour le titre mais jen'ai pas trouvé mieux
    Vu le titre, la question a l'air complètement idiote, et elle l'est et pourtant je trouve pas de solution
    Je vous montre la macro vous dirait après ce que je veux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub InsertColumn()
    Dim f As Worksheet
    Set f = Worksheets("Feuil1")
    Columns(NumColonne("Feuil1")).Select
    MsgBox (Columns(1, 1).Name)
    Selection.Insert Shift:=xlToRight
    Selection.AutoFill Destination:=Columns(NumColonne("Feuil1") - 1 & ":" &  NumColonne("Feuil1")), Type:=xlFillDefault
    Columns(NumColonne("Feuil1") - 1).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
    End Sub
    Pour information, la fonction NumColonne permet de calculer le numéro de la colonne afin de savoir où insérer ma colonne (pour mon cas par exemple NumCOlonne est égal à 72 je crois )
    Ce que je veuxf aire c'est "sélectionner" 2 colonnes pour tirer les formules de la colonne précédente sur la colonne créée mais ça marche pas ocmme ça et je sais pas comment passer par les chiffres
    En fait quand je fais la macro par l'assistant il me donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Columns("BS:BS").Select
        Selection.AutoFill Destination:=Columns("BS:BT"), Type:=xlFillDefault
        Columns("BS:BT").Select
    Il utilise les lettres pour dénomer les colonnes

    Or moi ce que je veux ce n'est pas utiliser les lettres des colonnes, mais le numéro de la colonne afin de pouvoir l'utiliser dans la procédure au dessus, en sélectionnant 2 colonnes, pour pouvoir tirer mes formules de la colonne précédente (moi avoir été compris ? )


    Sinon si vous avez un moyen pour récupérer le "nom" de la colonne, cad la lettre je suis preneur aussi car columns.name ça marche pas (sachant que si je prend le "nom" il faudra quand meme que je puisse prendre la lettre précédente pour tirer mes formules..)

    Bref j'aimerai bien savoir comment sélectionner 2 colonnes par leur numéro, et non par leur lettre

    J'espère avoir été compris si vous avez des questions hésitez pas

    Merci pour votre aide
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Par défaut
    pour convertir un chiffre en lettre

    où i est le chiffre bien entendu

    une fois que tu as ta lettre et bien c'est tout de suite moins compliqué


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Columns("BS:BT").Select
    columns("" & lettre & ":" & lettre2 ).select

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    je pense pas que ça marchera, justement parce que c'est BS (par exemple)
    SI je fais un chr(96 +i) par exemple, avec i = 72, ça va me faire 188 ça va pas me faire une erreur ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  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
    par exemple utilise union ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Union(Columns(71), Columns(72)).Select

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim rRange
    Set rRange = Range(Columns(3), Columns(4))
    Te permet d'utiliser rRange partout où tu veux invoquer tes 2 colonnes.

    Example:
    Dans ce cas-ci, j'ai mis les colonnes 3 et 4 pour ne pas devoir dérouler toutes ma feuille pour voir ce qui était sélectionné.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Citation Envoyé par AlainTech
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim rRange
    Set rRange = Range(Columns(3), Columns(4))
    Te permet d'utiliser rRange partout où tu veux invoquer tes 2 colonnes.

    Example:
    Dans ce cas-ci, j'ai mis les colonnes 3 et 4 pour ne pas devoir dérouler toutes ma feuille pour voir ce qui était sélectionné.
    Yep Merci ça marche nickel merci beaucoup
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  7. #7
    Membre averti
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Novembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 16
    Par défaut
    Bonjour,
    Je me permets de compléter la question même si ce n'est pas mon sujet, mais à mon niveau je voudrais sélectionner plusieurs lignes comprises entre 2 variables.

    donc a défaut je remplace par Line, mais je ne peux pas utiliser les ":" pour préciser que je veux l'ensemble compris entre les deux lignes
    Merci d'avance

Discussions similaires

  1. Sélection de plusieurs colonnes dans un graphique
    Par jpvba65 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/05/2014, 18h02
  2. [PPT-2007] Sélection de plusieurs colonnes non adjacentes
    Par alers dans le forum Powerpoint
    Réponses: 0
    Dernier message: 29/03/2013, 12h39
  3. Sélection de plusieurs colonnes dans un IN
    Par Sankasssss dans le forum Langage SQL
    Réponses: 10
    Dernier message: 17/06/2010, 11h44
  4. [VBA-E] Masquage de plusieurs colonnes par interface
    Par tuta77 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 24/01/2007, 09h10
  5. [VBA-E] Recherche sur plusieurs colonnes ?
    Par Kokito dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/11/2006, 13h27

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